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

2.3.3.Одноразовые операции

Операция «создание процесса» производится в момент появления процесса. Процессу дается состояние «рождение». Процессы могут быть рождены на этапе старта системы или динамически. Инициатором рождения процесса является процесс. Процесс, по инициативе которого создан новый процесс, называется процессом-родителем, вновь созданный процесс – процессом-ребенком. Процессы-дети могут порождать новых детей и т. д., образуя внутри системы генеалогический лес. Пример генеалогического леса изображен на рисунке 2.4.

Рис. 2.4. Генеалогический лес процессов.

При операции создания процесса система заводит на него блок управления процессом с состоянием процесса «рождение» и начинает его заполнять.

  1. Присваивает процессу уникальный идентификационный номер. Для его хранения отводится ограниченное количество битов. Уникальность номеров обеспечивается количеством одновременно присутствующих процессов. Повторное использование идентификационного номера возможно только после его освобождения в результате завершения процесса.

  2. Выделяет ресурсы новому процессу. Ресурсы выделяются либо от родителей, либо непосредственно от операционной системы. Информация о выделенных ресурсах заносится в PCB.

  3. Наделяет процесс содержанием. В адресное пространство нового процесса заносит программный код, значения данных, устанавливает программный счетчик. Данные могут быть заполнены с помощью какой-нибудь программы или быть копиями процесса-родителя по регистровому и пользовательскому контекстам.

  4. После наделения процесса содержанием операционная система в PCB (блок управления процессом) дописывает оставшуюся информацию, и состояние нового процесса меняется на состояние «готовность».

Операция завершение процесса производится после завершения работы процесса. Процесс переводится в состояние «закончил исполнение». Ресурсы, связанные с процессом, освобождаются. В блоке управления процессом делаются соответствующие записи. PCB процесса не уничтожается и остается в системе некоторое время (до запроса процесса-родителя или до конца его деятельности, после чего все следы завершившегося процесса окончательно исчезают из системы).

В ряде операционных систем гибель процесса-родителя приводит к завершению работы всех его "детей". В других операционных системах процессы-дети продолжают свое существование и после окончания работы процесса-родителя. Для поддержания целостности генеалогического дерева процессов изменяется информация в PCB о процессе-родителе. "Осиротевшие" процессы "усыновляются" одним из системных процессов, который рождается при старте операционной системы и функционирует все время, пока она работает.

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

Одноразовые операции приводят к изменению количества процессов и связаны с выделением или освобождением ресурсов. Многоразовые операции не изменяют количество процессов в операционной системе и не всегда влияют на выделение и освобождение ресурсов.

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

Операция приостановка процесса применяется, когда работа процесса, находящегося в состоянии «исполнение», приостанавливается в результате какого-либо прерывания. Процессор автоматически сохраняет счетчик команд, один или несколько регистров в стеке исполняемого процесса и передает управление по адресу обработки данного прерывания. На этом деятельность аппаратной части по обработке прерывания завершается. По указанному адресу обычно располагается одна из частей операционной системы. Она сохраняет динамическую часть системного и регистрового контекстов процесса в его PCB, переводит процесс в состояние «готовность» и приступает к обработке прерывания.

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

Операция разблокирование процесса применяется при наступлении в системе какого-либо ожидаемого события. Операционная система определяет, какое событие произошло и производит проверку, находился ли некоторый процесс в состоянии «ожидание» для данного события, и если находился, переводит его в состояние «готовность», выполняя необходимые действия, связанные с наступлением события (инициализация операции ввода-вывода для очередного ожидающего процесса и т. п.).