Блок управления процессом![]() Блок управления процессом (на англ. PCB — Process control block) — это структура данных, используемая компьютерными операционными системами для хранения всей информации о процессе. Также известен как дескриптор процесса. Когда процесс создается (инициализируется или устанавливается), операционная система создает соответствующий блок управления процессом[1][2][3][4][5]. Такая структура позволяет определить состояние процесса, такое как: новый, готовый, выполняющийся, ожидающий, завершенный и т. п. РольРоль блока является центральной в управлении процессами: доступ к ним и/или их изменение осуществляется большинством утилит, особенно теми, которые занимаются планированием и управлением ресурсами. СтруктураВ многозадачных операционных системах блок управления процессом хранит данные, необходимые для правильного и эффективного управления процессами[6]. Хотя особенности этих структур зависят от системы, общие элементы делятся на три основные категории:
Для каждого соответствующего сегмента существуют таблицы состояния, например, описывающие память, устройства ввода-вывода, файлы и процессы. Таблицы памяти, например, содержат информацию о распределении основной и вторичной (виртуальной) памяти для каждого процесса, атрибутах авторизации для доступа к областям памяти, разделяемым между различными процессами, и т. д. Таблицы ввода-вывода могут содержать записи, указывающие на доступность устройства или его назначение процессу, статус операций ввода-вывода, расположение используемых для них буферов памяти и т. д. Идентификационные данные процесса включают уникальный идентификатор процесса (почти всегда целое число) и в многопользовательской многозадачной системе, такие данные, как идентификатор родительского процесса, идентификатор пользователя, идентификатор группы[англ.] пользователей и т. д. Идентификатор процесса особенно важен, поскольку он часто используется для перекрестных ссылок на таблицы, определенные выше, например показывающие, какой процесс использует определённые устройства ввода-вывода или области памяти. Данные о состоянии процесса определяют статус процесса, когда он приостановлен, позволяя операционной системе перезапустить его позже. Это всегда включает в себя содержимое регистров ЦП общего назначения, слово состояния процесса[англ.] ЦП, указатели стека и фрейма и т. д. Во время переключения контекста запущенный процесс останавливается и запускается другой процесс. Ядро должно остановить выполнение запущенного процесса, скопировать значения в аппаратных регистрах на свой блок управления и обновить аппаратные регистры значениями с блоком управления нового процесса. Информация об управлении процессом используется операционной системой для управления самим процессом. Она включает в себя:
Расположение![]() Блок управления процессом должен храниться в области памяти защищённой от обычного доступа процесса. В некоторых операционных системах блок размещается в начале ядра стека процесса[7]. См. такжеПримечания
Ссылки |
Portal di Ensiklopedia Dunia