4.2 Состояние процессов
В многозадачной (многопроцессной) системе процесс может
находиться в одном из трех основных состояний:
Выполнение - активное состояние процесса, во время которого
процесс обладает всеми необходимыми ресурсами и непосредственно
выполняется процессором;
Ожидание
-
пассивное
состояние
процесса,
процесс
заблокирован, он не может выполняться по своим внутренним
причинам, он ждет осуществления некоторого события, например,
завершения операции ввода-вывода, получения сообщения от другого
процесса, освобождения какого-либо необходимого ему ресурса;
Готовность - также пассивное состояние процесса, но в этом
случае процесс заблокирован в связи с внешними по отношению к
нему обстоятельствами: процесс имеет все требуемые для него
ресурсы, он готов выполняться, однако процессор занят выполнением
другого процесса.
В ходе жизненного цикла каждый процесс переходит из одного
состояния в другое в соответствии с алгоритмом планирования
процессов, реализуемым в данной операционной системе. Типичный
граф состояний процесса показан на рисунке 7.
В состоянии «выполнение» в однопроцессорной системе может
находиться только один процесс, а в каждом из состояний «ожидание»
и «готовность» - несколько процессов, эти процессы образуют
очереди
соответственно
ожидающих
и
готовых
процессов.
Жизненный цикл процесса начинается с состояния «готовность»,
26
когда процесс готов к выполнению и ждет своей очереди. При
активизации процесс переходит в состояние «выполнение» и
находится в нем до тех пор, пока либо он сам освободит процессор,
перейдя в состояние «ожидания» какого-нибудь события, либо будет
насильно
«вытеснен»
из
процессора,
например,
вследствие
исчерпания отведенного данному процессу кванта процессорного
времени. В последнем случае процесс возвращается в состояние
«готовность». В это же состояние процесс переходит из состояния
«ожидание», после того, как ожидаемое событие произойдет.
Рисунок 7 - Граф состояний процесса в многозадачной среде
Таким образом, на протяжении существования процесса его
выполнение может быть многократно прервано и продолжено. Для
того,
чтобы
возобновить
выполнение
процесса,
необходимо
восстановить
состояние
его
операционной
среды
(состояние
операционной среды отображается состоянием регистров, режимом
работы процессора, указателями на открытые файлы и т.д.). Эта
информация называется контекстом процесса.
Кроме
этого,
операционной
системе
для
реализации
планирования процессов требуется дополнительная информация:
идентификатор процесса, состояние процесса, данные о степени
привилегированности процесса и другая информация. В некоторых
ОС (например, в ОС UNIX) информацию такого рода, используемую
ОС для планирования процессов, называют дескриптором процесса.
Дескриптор процесса по сравнению с контекстом содержит более
оперативную информацию, которая должна быть легко доступна
подсистеме планирования процессов. Контекст процесса содержит
27
менее актуальную информацию и используется операционной
системой только после того, как принято решение о возобновлении
прерванного процесса [5].
Достарыңызбен бөлісу: |