Блок управления процессом ( PCB ), также иногда называемый дескриптором процесса , представляет собой структуру данных, используемую операционной системой компьютера для хранения всей информации о процессе .
Когда процесс создается (инициализируется или устанавливается), операционная система создает соответствующий блок управления процессом, который определяет и отслеживает состояние процесса (т. е. новый, готовый, работающий, ожидающий или завершенный). Поскольку он используется для отслеживания информации о процессе, PCB играет ключевую роль в переключении контекста . [1]
Ядро операционной системы хранит печатные платы в таблице процессов. [2]
Текущий рабочий каталог процесса — это одно из свойств, которое ядро хранит в PCB процесса. [3]
Печатные платы играют центральную роль в управлении процессами : к ним обращаются и/или изменяют их большинство коммунальных служб, особенно те, которые занимаются планированием и управлением ресурсами.
В многозадачных операционных системах печатная плата хранит данные, необходимые для правильного и эффективного управления процессами. [4] Хотя детали этих структур зависят от системы, общие элементы делятся на три основные категории:
Таблицы состояний существуют для каждой соответствующей сущности, например, описания памяти, устройств ввода-вывода, файлов и процессов.
Например, таблицы памяти содержат информацию о выделении основной и вторичной (виртуальной) памяти для каждого процесса, атрибуты авторизации для доступа к областям памяти, общим для различных процессов, и т. д. Таблицы ввода-вывода могут содержать записи, указывающие на доступность устройства или его назначение процессу, статус операций ввода-вывода, расположение буферов памяти, используемых для них, и т. д.
Данные идентификации процесса включают уникальный идентификатор процесса (почти всегда целое число) и, в многопользовательской многозадачной системе, такие данные, как идентификатор родительского процесса, идентификатор пользователя, идентификатор группы пользователей и т. д. Идентификатор процесса особенно важен, поскольку он часто используется для перекрестных ссылок на определенные выше таблицы, например, показывая, какой процесс использует какие устройства ввода-вывода или области памяти.
Данные о состоянии процесса определяют статус процесса, когда он приостановлен, позволяя ОС перезапустить его позже. Это всегда включает содержимое регистров общего назначения ЦП, слово состояния процесса ЦП, указатели стека и фрейма и т. д. Во время переключения контекста работающий процесс останавливается и запускается другой процесс. Ядро должно остановить выполнение работающего процесса, скопировать значения из аппаратных регистров на свою печатную плату и обновить аппаратные регистры значениями из печатной платы нового процесса.
Информация управления процессом используется ОС для управления самим процессом. Сюда входит:
PCB должен храниться в области памяти, защищенной от доступа обычного процесса. В некоторых операционных системах PCB размещается в нижней части стека процесса . [5]
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка )