Набор операций
Операции над процессами и связанные с ними понятия
Удобно разделить их на три пары:
1. создание процесса – завершение процесса;
2. приостановка процесса (из выполнения в готовность) – запуск процесса (из готовности в исполнение);
3. блокирование процесса (из исполнения в ожидание) – разблокирование процесса (из ожидания в готовность).
Операции создания и завершения процесса являются одноразовыми. Все остальные операции, связанные с изменением состояния процессов, являются многоразовыми.
Для того чтобы ОС могла выполнять операции над процессами каждый процесс представляется в ней некоторой структурой данных. Эта структура содержит специфическую информацию для данного процесса:
1. состояние, в котором находиться процесс;
2. программный счетчик процесса (адрес команды, которая должна быть выполнена для него следующей);
3. содержимое регистров процессора;
4. данные, необходимые для планирования использования процессора и управления памятью, (приоритет процесса);
|
|
5. учетные данные (идентификационный номер процесса, какой пользователь инициировал его работу, общее время использования процессора данным процессом);
6. сведения об устройствах ввода-вывода связанных с процессом.
Состав и строение структуры зависит от конкретной ОС.
Структура данных – это блок управления процессом. Блок управления процессом является моделью процесса для ОС. Любая операция, производимая ОС над процессом, вызывает определенные изменения в блоке управления процессом. В рамках принятой модели состояний процесса, содержимое блока между операциями остается постоянным.
Информацию, для хранения которой предназначен блок, удобно разделить на две части:
1. содержимое всех регистров процессора (называют регистровым контекстом);
2. все остальное системным контекстом.
Знание регистрового и системного контекста достаточно для того, чтобы управлять его работой в ОС, совершая над ним операции. Однако, этого не достаточно для того, чтобы полностью охарактеризовать процесс. ОС не интересует, какими именно вычислениями занимается процесс, то есть какой код и какие данные находятся в его пространстве, для пользователя – наоборот.
Код и данные, находящиеся в адресном пространстве, принято называть контекстом.
Контекстом процесса называется совокупность регистрового, системного и пользовательского контекстов процесса. В любой момент времени процесс полностью характеризуется своим контекстом.