Блок управления процессами и контекст процесса

Набор операций

Операции над процессами и связанные с ними понятия

Удобно разделить их на три пары:

1. создание процесса – завершение процесса;

2. приостановка процесса (из выполнения в готовность) – запуск процесса (из готовности в исполнение);

3. блокирование процесса (из исполнения в ожидание) – разблокирование процесса (из ожидания в готовность).

Операции создания и завершения процесса являются одноразовыми. Все остальные операции, связанные с изменением состояния процессов, являются многоразовыми.

Для того чтобы ОС могла выполнять операции над процессами каждый процесс представляется в ней некоторой структурой данных. Эта структура содержит специфическую информацию для данного процесса:

1. состояние, в котором находиться процесс;

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

3. содержимое регистров процессора;

4. данные, необходимые для планирования использования процессора и управления памятью, (приоритет процесса);

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

6. сведения об устройствах ввода-вывода связанных с процессом.

Состав и строение структуры зависит от конкретной ОС.

Структура данных – это блок управления процессом. Блок управления процессом является моделью процесса для ОС. Любая операция, производимая ОС над процессом, вызывает определенные изменения в блоке управления процессом. В рамках принятой модели состояний процесса, содержимое блока между операциями остается постоянным.

Информацию, для хранения которой предназначен блок, удобно разделить на две части:

1. содержимое всех регистров процессора (называют регистровым контекстом);

2. все остальное системным контекстом.

Знание регистрового и системного контекста достаточно для того, чтобы управлять его работой в ОС, совершая над ним операции. Однако, этого не достаточно для того, чтобы полностью охарактеризовать процесс. ОС не интересует, какими именно вычислениями занимается процесс, то есть какой код и какие данные находятся в его пространстве, для пользователя – наоборот.

Код и данные, находящиеся в адресном пространстве, принято называть контекстом.

Контекстом процесса называется совокупность регистрового, системного и пользовательского контекстов процесса. В любой момент времени процесс полностью характеризуется своим контекстом.


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



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