Операции над процессами

Подсистема Управление процессом выполняет операции над процессами:

1. Создание:

- создание описателя процесса;

- включение его в очередь;

- выделение процессу начальных ресурсов.

2. Уничтожение (удаление его из системы. Ресурсы возвращаются системе, имя процесса удаляется из списка, блок управления процессом освобождается);

3. Запуск;

4. Блокировка.

5. Приостановка.

6. Возобновление,

7. Изменение приоритета процесса (работа с очередями).

Создать процесс — это прежде всего означает создать описатель процесса, в качестве которого выступает одна или несколько информационных структур, содержащих все сведения о процессе,, необходимые операционной системе для управления им. В число таких сведений могут входить, например, идентификатор процесса, данные о расположении в памяти исполняемого модуля, степень привилегированности процесса (приоритет и права доступа) и т. п. Примерами описателей процесса являются блок управления задачей (ТСВ — Task Control Block) в OS/360, управляющий блок процесса (РСВ — Process Control Block) в OS/2, дескриптор процесса в UNIX, объект-процесс (object-process) в Windows NT.

Создание описателя процесса знаменует собой появление в системе еще одного претендента на вычислительные ресурсы. Начиная с этого момента при распределении ресурсов ОС должна принимать во внимание потребности нового процесса.

Создание процесса включает загрузку кодов и данных исполняемой программы данного процесса с диска в оперативную память.

При управлении процессами операционная система использует два основных типа информационных структур: дескриптор процесса и контекст процесса. Дескриптор процесса содержит такую информацию о процессе, которая необходима ядру в течение всего жизненного цикла процесса независимо от того, находится он в активном или пассивном состоянии, находится образ процесса в оперативной памяти или выгружен на диск. (Образом процесса называется совокупность его кодов и данных.)

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

Дескриптор содержит следующую информацию:

- состояние процесса;

- расположение образа процесса в оперативной памяти и на диске (образом процесса называется совокупность его кодов и данных);

- значение отдельных составляющих приоритета, а также о его итоговом значении — глобальном приоритете;

- идентификатор пользователя, создавшего процесс;

- информация о родственных процессах;

- информация о событиях, осуществления которых ожидает данный процесс;

- уникальный идентификатор процесса;

- область сохранения регистров;

- указатели выданных процессу ресурсов.

Контекст процесса содержит менее оперативную, но более объемную часть информации о процессе, необходимую для возобновления выполнения процесса с прерванного места:

- содержимое регистров процессора и программного счетчика;

- коды ошибок выполняемых процессором системных вызовов;

- информацию обо всех открытых данным процессом файлах и незавершенных операциях ввода-вывода;

- режим работы процессора.