Динамика состояния процесса

Процесс может находиться:

- в активном состоянии, может участвовать в конкуренции за использование

ресурсов вычислительной системы;

- в пассивном состоянии, известен системе, в конкуренции не участвует.

Активный процессможет находиться в одном из следующих состояний:

- выполнения, когда все затребованные ресурсы выделены. В состоянии

выполнения может находиться только один процесс (для однопроцессорной

системы);

- готовности к выполнению, когда ресурсы могут быть предоставлены и

процесс перейдет в состояние выполнения;

- блокирования или ожидания, когда затребованные ресурсы не могут быть

предоставлены или не завершена операция ввода/вывода.

За время существования процесс может неоднократно совершать переходы из

одного состояния в другое. Это обусловлено:

- обращениями к операционной системе с запросами ресурсов;

- выполнением системных функций;

- взаимодействием с другими процессами;

- появлением сигналов прерывания u1086 от таймера, каналов и устройств

ввода/вывода и других устройств.

Процесс из состояния бездействияв состояние готовностиможет перейти в

следующих случаях:

- по команде оператора (пользователя) в диалоговых ОС, где программа может

иметь статус задачи, а не просто быть исполняемым файлом и только на время

исполнения получит статус задачи (ОС на ПК);

- при выборе из очереди планировщиком;

- по вызову из другой задачи (посредством обращения к супервизору один

процесс может создавать, инициировать, приостановить, остановить или

уничтожить другой процесс);

- по прерыванию от внешнего «инициативного» устройства;

- при наступлении запланированного времени запуска программы.

Процесс, который может исполняться, как только ему будет предоставлен

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

ему выделены.

Из состояния выполненияпроцесс может выйти по одной из следующих причин:

- процесс завешается, при этом он посредством обращения к супервизору

передает управление ОС и сообщает о своем завершении. Супервизор

уничтожает процесс или переводит его в список бездействующихпроцессов.

В состояние бездействияпроцесс может быть переведен принудительно по

команде оператора или путем обращения к супервизору другой задачи,

требующей остановить данный процесс;

- процесс переводится супервизором ОС в состояние готовности к исполнению

в связи с появлением более приоритетной задачи или в связи с окончанием

выделенного ему кванта времени;

- процесс блокируетсяиз-за невозможности предоставить ему ресурс или

вследствие запроса ввода/вывода, а также по команде оператора на

приостановку задачи.

Процесс деблокируется и переводится в состояние готовности к исполнению при

наступлении соответствующего события:

- завершение операции ввода/вывода;

- освобождение затребованного ресурса;

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

Предпосылками изменения состояния процесса являются u1089 события. Один из

основных видов событий – прерывания.