Блок управления процессом - Process control block
А блок управления технологическим процессом (PCB) это структура данных, используемая компьютером операционные системы хранить всю информацию о процесс. Это также известно как процесс дескриптор.
- Когда процесс создается (инициализируется или устанавливается), операционная система создает соответствующий блок управления процессом.
- Информация в блоке управления процессом обновляется во время перехода состояний процесса.
- Когда процесс завершается, его печатная плата возвращается в пул, из которого извлекаются новые печатные платы.
- Каждый процесс имеет одну печатную плату.
Роль
Роль печатных плат является центральной в управлении процессами: они доступны и / или изменяются большинством коммунальных служб, особенно теми, кто занимается планированием и управлением ресурсами.
Структура
В многозадачность В операционных системах на плате хранятся данные, необходимые для правильного и эффективного управления процессами.[1] Хотя детали этих структур зависят от системы, общие элементы делятся на три основные категории:
- Идентификация процесса
- Состояние процесса
- Контроль над процессом
Таблицы состояния существуют для каждой соответствующей сущности, например, для описания памяти, устройств ввода-вывода, файлов и процессов.
Таблицы памяти, например, содержат информацию о распределении основной и дополнительной (виртуальной) памяти для каждого процесса, атрибуты авторизации для доступа к областям памяти, совместно используемым различными процессами, и т. Д. Таблицы ввода-вывода могут содержать записи, указывающие доступность устройства или его назначение процессу, статус операций ввода-вывода, расположение используемых для них буферов памяти и т. д.
Идентификационные данные процесса включать уникальный идентификатор процесса (почти всегда целое число) и, в многопользовательской многозадачной системе, такие данные, как идентификатор родительского процесса, идентификатор пользователя, идентификатор группы пользователей и т. д. Идентификатор процесса особенно важен, поскольку он часто используется для перекрестных ссылок на таблицы, определенные выше, например показывая, какой процесс использует какие устройства ввода / вывода или области памяти.
Данные о состоянии процесса определить статус процесса, когда он приостановлен, позволяя ОС перезапустить его позже. Это всегда включает содержимое регистров ЦП общего назначения, слово состояния процесса ЦП, указатели стека и кадра и т. Д. переключатель контекста, выполняющийся процесс останавливается и запускается другой процесс. Ядро должно остановить выполнение запущенного процесса, скопировать значения аппаратных регистров на свою печатную плату и обновить аппаратные регистры значениями с печатной платы нового процесса.
Информация об управлении процессом используется ОС для управления самим процессом. Это включает в себя:
- Состояние планирования процесса - состояние процесса в терминах «готов», «приостановлен» и т. Д., А также другая информация планирования, такая как значение приоритета, количество времени, прошедшее с тех пор, как процесс получил контроль над ЦП или с тех пор, как он был приостановлен. Кроме того, в случае приостановленного процесса данные идентификации события должны быть записаны для события, которого процесс ожидает.
- Информация о структурировании процесса - идентификаторы дочерних процессов или идентификаторы других процессов, связанных с текущим некоторым функциональным образом, которые могут быть представлены как очередь, кольцо или другие структуры данных.
- Информация о межпроцессном взаимодействии - флаги, сигналы и сообщения, связанные с обменом между независимыми процессами
- Привилегии процесса - разрешенный / запрещенный доступ к системным ресурсам
- Состояние процесса - новый, готовый, запущенный, ожидающий, мертвый
- Номер процесса (PID) - уникальный идентификационный номер для каждого процесса (также известный как ID процесса )
- Программный счетчик (ПК) - указатель на адрес следующей инструкции, которая будет выполняться для этого процесса.
- Регистры ЦП - набор регистров, в которых процесс должен быть сохранен для выполнения в рабочем состоянии
- Информация о планировании ЦП - информация о планировании времени ЦП
- Информация об управлении памятью - таблица страниц, ограничения памяти, таблица сегментов
- Бухгалтерская информация - количество ЦПУ используется для выполнения процесса, временных ограничений, идентификатора выполнения и т. д.
- Информация о состоянии ввода / вывода - список устройств ввода / вывода, назначенных процессу.
Место расположения
Печатная плата должна храниться в области памяти, защищенной от обычного доступа к процессам. В некоторых операционных системах печатная плата размещается в начале ядра. куча процесса.[2]
Смотрите также
Примечания
- ^ Ганье, Абрахам Зильбершатц, Питер Баер Галвин, Грег (2013). Понятия операционной системы (9-е изд.). Хобокен, штат Нью-Джерси: Wiley. стр.107 –108. ISBN 9781118063330.
- ^ Юн, Чжан, «Преодоление максимального числа процессов», «Linux Journal», 1 января 2004 г., [1].