Блок управления процессом - Process control block

А блок управления технологическим процессом (PCB) это структура данных, используемая компьютером операционные системы хранить всю информацию о процесс. Это также известно как процесс дескриптор.

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

Роль

Роль печатных плат является центральной в управлении процессами: они доступны и / или изменяются большинством коммунальных служб, особенно теми, кто занимается планированием и управлением ресурсами.

Структура

В многозадачность В операционных системах на плате хранятся данные, необходимые для правильного и эффективного управления процессами.[1] Хотя детали этих структур зависят от системы, общие элементы делятся на три основные категории:

  • Идентификация процесса
  • Состояние процесса
  • Контроль над процессом

Таблицы состояния существуют для каждой соответствующей сущности, например, для описания памяти, устройств ввода-вывода, файлов и процессов.

Таблицы памяти, например, содержат информацию о распределении основной и дополнительной (виртуальной) памяти для каждого процесса, атрибуты авторизации для доступа к областям памяти, совместно используемым различными процессами, и т. Д. Таблицы ввода-вывода могут содержать записи, указывающие доступность устройства или его назначение процессу, статус операций ввода-вывода, расположение используемых для них буферов памяти и т. д.

Идентификационные данные процесса включать уникальный идентификатор процесса (почти всегда целое число) и, в многопользовательской многозадачной системе, такие данные, как идентификатор родительского процесса, идентификатор пользователя, идентификатор группы пользователей и т. д. Идентификатор процесса особенно важен, поскольку он часто используется для перекрестных ссылок на таблицы, определенные выше, например показывая, какой процесс использует какие устройства ввода / вывода или области памяти.

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

Информация об управлении процессом используется ОС для управления самим процессом. Это включает в себя:

  • Состояние планирования процесса - состояние процесса в терминах «готов», «приостановлен» и т. Д., А также другая информация планирования, такая как значение приоритета, количество времени, прошедшее с тех пор, как процесс получил контроль над ЦП или с тех пор, как он был приостановлен. Кроме того, в случае приостановленного процесса данные идентификации события должны быть записаны для события, которого процесс ожидает.
  • Информация о структурировании процесса - идентификаторы дочерних процессов или идентификаторы других процессов, связанных с текущим некоторым функциональным образом, которые могут быть представлены как очередь, кольцо или другие структуры данных.
  • Информация о межпроцессном взаимодействии - флаги, сигналы и сообщения, связанные с обменом между независимыми процессами
  • Привилегии процесса - разрешенный / запрещенный доступ к системным ресурсам
  • Состояние процесса - новый, готовый, запущенный, ожидающий, мертвый
  • Номер процесса (PID) - уникальный идентификационный номер для каждого процесса (также известный как ID процесса )
  • Программный счетчик (ПК) - указатель на адрес следующей инструкции, которая будет выполняться для этого процесса.
  • Регистры ЦП - набор регистров, в которых процесс должен быть сохранен для выполнения в рабочем состоянии
  • Информация о планировании ЦП - информация о планировании времени ЦП
  • Информация об управлении памятью - таблица страниц, ограничения памяти, таблица сегментов
  • Бухгалтерская информация - количество ЦПУ используется для выполнения процесса, временных ограничений, идентификатора выполнения и т. д.
  • Информация о состоянии ввода / вывода - список устройств ввода / вывода, назначенных процессу.

Место расположения

Печатная плата должна храниться в области памяти, защищенной от обычного доступа к процессам. В некоторых операционных системах печатная плата размещается в начале ядра. куча процесса.[2]

Смотрите также

Примечания

  1. ^ Ганье, Абрахам Зильбершатц, Питер Баер Галвин, Грег (2013). Понятия операционной системы (9-е изд.). Хобокен, штат Нью-Джерси: Wiley. стр.107 –108. ISBN  9781118063330.
  2. ^ Юн, Чжан, «Преодоление максимального числа процессов», «Linux Journal», 1 января 2004 г., [1].