Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС лекция.doc
Скачиваний:
13
Добавлен:
14.04.2019
Размер:
229.38 Кб
Скачать

Многоразовые операции.

Отличия многоразовых операций от многоразовых:

    1. одноразовые операции приводят к изменению кол-ва процессов находящихся под управлением ОС и всегда связаны с выделением или освобождением определенных ресурсов

    2. многоразовые операции напротив не приводят к изменению кол-ва процессов в ОС и не обязаны быть связанными с выделением или освобождением ресурсов.

Перечислим действия производимые ОС при выполнении многоразовых операций над процессами:

    1. Запуск процесса; Из числа процессов находящихся в состоянии готовности ОС выбирает один процесс для последующего исполнения (существуют определенные критерии и алгоритмы данного выбора) для избранного процесса ОС обеспечивает наличие в оперативной памяти информации необходимой для его дальнейшего выполнения, далее состояние процесса изменяется на состояние исполнения. Восстанавливаются значения регистров для данного процесса и управление передается команде на которую указывает счетчик команд процесса. Все данные необходимые для этого восстановления контекста извлекаются из PCB процесса над которым совершается операция.

    2. Приостановка процесса; Работа процесса находящегося в состоянии исполнения может быть приостановлена в результате какого либо прерывания. Процессор автоматически сохраняет счетчик команд и возможно один или несколько регистров в стеке исполняемого процесса и передает управление по специальному адресу обработки данного прерывания (на этом деятельность аппаратной части по обработке прерывания завершается). По указанному адресу обычно располагается одна из частей ОС, далее она сохраняет динамическую часть системного и регистрового контекстов процессов его PCB, переводит процесс в состояние готовности и приступает к обработке прерывания.

    3. Блокирование процесса; Процесс блокируется в том случае, когда он не может продолжать свою работу не дождавшись возникновения какого либо события в вычислительной системе. Для этого он обращается к ОС с помощью определенного системного вызова. Далее ОС обрабатывает данный системный вызов (инициализирует операцию ввода-вывода, добавляет процесс в очередь процессов, дожидающихся освобождения устройства или возникновения события и т. д.) и при необходимости сохранив определенную часть контекста процесса в его PCB. Переводит процесс из состояния исполнения в состояние ожидания.

    4. Разблокирование процесса; После возникновения в системе какого либо события ОС нужно точно определить какое именно событие произошло. Далее система проверяет находится ли некоторый процесс в состоянии ожидания для данного события и переводит его состояние готовности, выполняя необходимые действия, связанные с наступлением события.

Переключение контекста

Деятельность мультипрограммной операционной системы состоит из цепочек операций, выполняемых над различными процессами, и сопровождается переключением процессора с одного процесса на другой. Рассмотрим пример, как может протекать операция разблокирования процесса, ожидающего ввода-вывода. Допустим, при исполнении некоторого процесса 1 возникает прерывание от устройства ввода-вывода, сигнализирующее об окончании операции на устройстве. Над выполняющимся процессом 1 производится операция приостановка. Далее, ОС разблокирует процесс, инициировавший запрос на ввод-вывод и осуществит запуск приостановленного или нового процесса, выбранного при выполнении планирования (В нашем случае разблокированный процесс). В результате обработки информации об окончании операции ввода-вывода возможна смена процесса, находящегося в состоянии исполнение. Для корректного переключения процессора с одного процесса на другой необходимо сохранить контекст исполнявшегося процесса и восстановить контекст процесса, на который будет переключен процессор. Такая процедура сохранения/восстановления работоспособности процессов называется переключением контекста.

Время, затраченное на переключение контекста, не используется вычислительной системой для совершения полезной работы и представляет собой накладные расходы, снижающие производительность системы. Существенно сократить накладные расходы в современных операционных системах позволяет расширенная модель процессов, включающая в себя понятие threads of execution (нити исполнения или просто нити).

Итог по теме процессы в ОС:

Понятие процесса характеризует некоторую совокупность набора исполняющихся команд, ассоциируемых с ними ресурсов и текущего момента его выполнения, находящегося под управлением ОС.

В любой момент времени процесс полностью описывается своим контекстом, состоящим из регистровой, системной и пользовательской частей. В ОС процессы представляются определенной структурой данных – PCB. Отражающей содержание регистрового и системного контекстов. Процессы могут находиться в 5 основных состояниях: рождение, готовность, исполнение, ожидание, закончил исполнение. Из состояния в состояние процесс переводится ОС в результате выполнения над ним операций. ОС может выполнить над процессом следующие операции: создание, завершение, приостановка, запуск, блокирование, разблокирование процесса, изменение приоритета процесса. Между выполнением операций содержимое PCB не изменяется. Деятельность мультипрограммной операционной системы состоит из цепочек операций, выполняемых над различными процессами, и сопровождается переключением контекста.