Лекция: Диаграмма состояний процесса, возможные переходы из одного состояния в другое.

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

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

· выполнения – все затребованные процессом ресурсы выделены. В этом состоянии в каждый момент времени может находиться только один процесс, если речь идёт об однопроцессорной вычислительной системе;

· готовности к выполнению – ресурсы могут быть предоставлены, тогда процесс перейдёт в состояние выполнения;

· блокирования или ожидания – затребованные ресурсы не могут быть предоставлены, или не завершена операция ввода/вывода.

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

· операционная система прекращает его деятельность;

· он не может продолжать свою работу, пока не произойдет некоторое событие, и операционная система переводит его в состояние ожидания;

· в результате возникновения прерывания в вычислительной системе (например, прерывания от таймера по истечении предусмотренного времени выполнения) его возвращают в состояние готовности.

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

· по команде оператора (пользователя). Имеет место в тех диалоговых операционных системах, где программа может иметь статус задачи (и при этом являться пассивной), а не просто быть исполняемым файлом и только на время исполнения получать статус задачи (как это происходит в большинстве современных ОС дляПК);

· при выборе из очерёди планировщиком (характерно для операционных систем, работающих в пакетном режиме);

· по вызову из другой задачи (посредством обращения к супервизору один процесс может создать, инициировать, приостановить, остановить, уничтожить другой процесс);

· по прерыванию от внешнего инициативного1 устройства (сигнал о свершении некоторого события может запускать соответствующую задачу);

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

еще рефераты
Еще работы по информатике