Модель процесса с пятью состояниями

Для процесса при выполнении на центральном процессоре можно выделить следующие характерные отдельные состояния.

Когда процесс появляется в системе, ОС определяет новый процесс в два этапа:

1) Присвоение процессу идентификатора и формирование всех таблиц, необходимых процессу. Этот промежуток времени соответствует состоянию «новый»;

2) Распределение памяти под процесс, подготовка его к выполнению, т.е. перевод в состояние, «готовый к выполнению».

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

Переход из «готовый» в «выполняющийся». Происходит, когда ОС выбирает новый процесс для запуска. Выбирается один из процессов, находящихся в состоянии «готовый», в соответствии с какой-то дисциплиной в обслуживании.

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

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

Переход «заблокированный» - «готовый». Осуществляется, когда происходит ожидаемое событие.

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

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: