Process Control Block (блок управления процессом) и контекст процесса

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

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

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

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

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

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

§ информацию об устройствах ввода-вывода, связанных с процессом (например, какие устройства закреплены за процессом, таблицу открытых файлов);

Конкретный ее состав и строение зависят от конкретной операционной системы. Во многих операционных системах информация, характеризующая процесс, хранится не в одной, а в нескольких связанных структурах данных. Эти структуры могут иметь различные наименования, содержать дополнительную информацию или, наоборот, лишь часть описанной информации. Важно лишь то, что для любого процесса, находящегося в вычислительной системе, вся информация, необходимая для совершения операций над ним, доступна операционной системе. Для простоты изложения будем считать, что она хранится в одной структуре данных, называемой в разных ОС блоком управления процессом (Process Control Block), блоком управления диспетчированием (Dispatch Control Block), блоком управления задачей (Task Control Block) и т.д.

Управляющие блоки могут храниться в области ядра, в другой области ОС или помещаться в собственную память программы. Независимо от расположения управляющих блоков они образуют таблицу переходов, или очередь диспетчера. Иногда таблица переходов делится на несколько подтаблиц, или подочередей. Т.к. управляющие блоки связаны в список, для каждого из них указывается предыдущий и следующий. В некоторых случаях вводятся несколько критериев упорядоченности, и тогда каждому блоку соответствует несколько предыдущих и следующих. На рис.5.4 показан общий вид диспетчера и его отношение к структурам системных данных и другим примитивам.

Рисунок 5.4 - Взаимодействие диспетчера со структурами системных данных и примитивов ядра

 

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

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

 








Дата добавления: 2015-10-21; просмотров: 4647;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.