Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Многозадачность в системах пакетной обработкиСтр 1 из 5Следующая ⇒
Понятие многозадачности Многозадачность – способ организации вычислительного процесса, при котором на одном процессоре выполняется несколько программ. Эти программы совместно используют процессор и другие ресурсы компьютера – память, устройства ввода-вывода и т.п. Многозадачность применяется с целью повышения эффективности использования вычислительной системы. Критерии эффективности: -Пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени - Удобство работы пользователей – имеется возможность интерактивно работать с несколькими приложениями на одном компьютере -Реактивность системы – способность системы выдерживать заранее заданные промежутки времени между запуском программы и получением результатов Однозадачная система Процессы выполняются последовательно – друг за другом.
Многозадачность в системах пакетной обработки Критерий эффективности систем пакетной обработки – максимальная пропускная способность системы и максимальная загруженность аппаратуры. Перед выполнением задач формируется мультипрограммная смесь. Совмещают одновременное выполнение задач, требующих различные ресурсы. Процесс выполняется до тех пор, пока ему не нужно выполнять операции ввода-вывода. В этом случае он ожидает завершения операций ввода-вывода, а активность передается другому процессу. Временная диаграмма выполнения задач в системах пакетной обработки
-время выполнения каждой задачи увеличилось -общее время выполнения задач уменьшилось -возможна ситуация монопольного захвата процессора активным процессом Многозадачность в системах разделения времени Цель систем разделения времени – повышение эффективности и удобства работы пользователя с несколькими приложениями. Время работы системы делится на кванты и каждому процессу попеременно выдается квант времени для работы. Таким образом, пользователь может интерактивно работать со всеми запущенными на выполнение приложениями. Временная диаграмма выполнения задач в системах разделения времени -время выполнения каждой задачи увеличилось -производительность снижается из-за большей частоты переключений процессов -монопольный захват процессора активным процессом не возможен Диаграмма состояний потока Создание и завершение процесса Процесс создается в следующих случаях: -инициализация системы (создание, активация, подготовка к работе, определение параметров. Приведение программы или устройства к состоянию готовности к использованию) - выполнение системного запроса на создание процесса от уже работающего процесса - выполнение запроса пользователя на создание процесса -инициация пакетного задания Процесс завершается в следующих случаях: -обычный выход -выход по ошибке -уничтожение другим процессом Процедура создания процесса: При создании процесса ОС необходимо: -создать описатель процесса (объект-процесс в Windows) -обнаружить на накопителе местоположение файла с кодом программы -перераспределить память и выделить область памяти для нового процесса -загрузить с накопителя программу (или ее часть) в область памяти -создать поток для выполнения -перевести поток в состояние готовности При создании потока ОС создает описатель потока, содержащий: 1.идентификатор потока.2.данные о правах доступа.3.данные о приоритете потока.4. состояние потока Понятия, связанные с процессом: Образ процесса – совокупность кода и данных процесса Дескриптор процесса – информационная структура, содержащая информацию о процессе, необходимую ядру в течении всего жизненного цикла процесса. Содержит следующие данные: -состояние процесса - расположение образа процесса в памяти и на диске. Образ процесса - совокупность кода и данных процесса. -приоритет процесса -идентификатор пользователя - владельца процесса - родственные процессы - ресурсы, выделенные процессу - события, осуществление которых ожидается процессом Дескрипторы процессов хранятся в таблице в области памяти ядра. Они используются для планирования и синхронизации процессов. Понятия, связанные с потоком: С каждым потоком связаны: 1.идентификатор2.состояние3.маркер доступа4.стеки (режима ядра и пользователя)5.контекст Контекст потока – информационная структура, содержащая информацию о процессе, необходимую ядру для возобновления выполнения потока с прерванного места. Содержит следующие данные: - значение счетчика команд - содержимое регистров процессора - режим работы процессора -коды ошибок выполняемых процессором системных вызовов -указатели на открытые файлы -данные о незавершенных операциях ввода - вывода -флаги, маски, прерывания и т.п. Контекст хранится в адресном пространстве ядра, но может быть выгружен на диск. 13.Алгоритмы планирования. Планирование в Windows. Планирование – работа ОС по переключению потоков. Включает в себя: -определение момента времени для смены текущего активного потока -выбор для выполнения потока из очереди готовых потоков Типы планирования: -динамическое – решение принимается в соответствии с текущим состоянием системы -статическое – заранее просчитывается расписание выполнения потоков Диспетчеризация – реализация найденного при планировании решения по переключению потоков. Сводится к следующему: -сохранение контекста текущего потока -загрузка контекста нового потока -запуск нового потока на выполнение Виды алгоритмов планирования: 1.невытесняющие 2.вытесняющие Невытесняющие алгоритмы планирования: Активный поток выполняется до тех пор, пока сам не передаст управление планировщику для выбора нового потока. Передача управления осуществляется с помощью специального системного вызова. + поток не прерывается в «неудобный» момент времени упрощается совместное использование данных более высокая скорость переключений потоков - необходимость реализации части функции планировщика в каждом потоке возможность монопольного захвата процессора потоком крах всей системы при зависании активного потока Вытесняющие алгоритмы планирования: Взаимоблокировки. Варианты решения проблемы блокировок в ОС Варианты решения проблемы: • Игнорирование проблемы • Обнаружение и устранение взаимоблокировок • Избежание взаимоблокировок • Предотвращение взаимоблокировок Обнаружение и устранение взаимоблокировок: обнаружение взаимоблокировок – с использованием графа ресурсов методы выхода из взаимоблокировки: - восстановление через откат - уничтожение одного из процессов, участвующих в блокировке Избежание взаимоблокировок: Безопасное состояние – система не в тупике и существует порядок планирования при котором все процессы завершаются успешно, даже если все они потребуют максимальных ресурсов Небезопасное состояние – при запросах ресурсов возможна тупиковая ситуация Алгоритм банкира: Каждый запрос на ресурс проверяется: приводит ли его удовлетворение к безопасному состоянию? если ДА, то запрос удовлетворяется если НЕТ, то запрос откладывается Предотвращение взаимоблокировок: Для предотвращения возможности взаимоблокировок необходимо нарушить хотя бы одно из условий их возникновения. (Условия возникновения взаимоблокировки: -Условие взаимного исключения: каждый ресурс или отдан одному процессу или свободен -Условие удержания и ожидания: процессы, удерживающие полученные ресурсы, могут запрашивать новые -Условие отсутствия принудительной выгрузки ресурса: у процесса нельзя принудительно отобрать ресурс, он должен освободить его сам -Условие циклического ожидания: существует замкнутая последовательность двух и более процессов, каждый из которых ждет доступа к ресурсу, удерживаемому следующим членом последовательности) -Все ресурсы последовательно нумеруются - При запросе нескольких ресурсов они запрашиваются в соответствии с их номером Предотвращение взаимоблокировки: Запрос ресурсов в порядке их нумерации. Процесс А получил ресурс P и прервался Процесс B получает ресурсы P и S и выполняется Процесс A получает ресурс S ,выполняется и освобождает ресурсы S и P Процесс В пытается получить ресурс Р, но он занят Переходит в состояние ожидания Типы адресов: -символьные имена – присвоенные программистом при создании программы -виртуальные адреса – адреса, сгенерированные транслятором в предположении, что начальный адрес процесса в памяти = 0 -физические адреса – адреса ячеек памяти в которых расположены код и данные процесса. Виртуальное адресное пространство – совокупность виртуальных адресов процесса. Максимально возможное виртуальное адресное пространство зависит от разрядности архитектуры. У 32 разрядных ОС - 4Г. Назначенное адресное пространство – реально выделенное процессу множество адресов. Виртуальная память: При использовании виртуальной памяти на диск выгружается только части образа процесса. Варианты реализации: |
-страничная – обмен между памятью и диском осуществляется
блоками фиксированного размера – страницами.
- сегментная – обмен между памятью и диском блоками произвольного размера с учетом смыслового значения данных
- сегментно-страничная – память делится на сегменты, которые в свою очередь делятся на страницы. Обмен между памятью и диском осуществляется страницами.
Страница – единица деления виртуального адресного пространство.
Страничный блок – единица деления физической памяти.
Для преобразования номера страницы в номер страничного блока физической памяти используется таблица страниц. Она содержит записи – дескрипторы страниц.
Страничное распределение памяти:
Многоуровневые таблицы страниц:
Для систем Pentium размер страницы 4К. Размер дескриптора – 32 бита.
Для 32 разрядного виртуального пространства (4Г) размер таблицы страниц – 4М.
Для уменьшения объема таблицы страниц в памяти используют многоуровневые таблицы страниц.
Получение физического адреса из виртуального:
Вся память делится на ячейки(1 байт), у каждой свой адрес.
Адрес разбивается на 3 части(номер раздела, номер стр в разделе, смещение).
По номеру раздела в каталог.
По номеру страницы в разделе выходим на запись о номере стр блока.
Смещение остается прежним.
Виртуальное адресное пространство в Windows :
Понятие многозадачности
Многозадачность – способ организации вычислительного процесса, при котором на одном процессоре выполняется несколько программ. Эти программы совместно используют процессор и другие ресурсы компьютера – память, устройства ввода-вывода и т.п.
Многозадачность применяется с целью повышения эффективности использования вычислительной системы.
Критерии эффективности:
-Пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени
- Удобство работы пользователей – имеется возможность интерактивно работать с несколькими приложениями на одном компьютере
-Реактивность системы – способность системы выдерживать заранее заданные промежутки времени между запуском программы и получением результатов
Однозадачная система
Процессы выполняются последовательно – друг за другом.
Многозадачность в системах пакетной обработки
Критерий эффективности систем пакетной обработки – максимальная пропускная способность системы и максимальная загруженность аппаратуры.
Перед выполнением задач формируется мультипрограммная смесь. Совмещают одновременное выполнение задач, требующих различные ресурсы.
Процесс выполняется до тех пор, пока ему не нужно выполнять операции ввода-вывода. В этом случае он ожидает завершения операций ввода-вывода, а активность передается другому процессу.
Последнее изменение этой страницы: 2019-05-08; Просмотров: 455; Нарушение авторского права страницы