stringtranslate.com

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

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

Когда процесс создается (инициализируется или устанавливается), операционная система создает соответствующий блок управления процессом, который определяет и отслеживает состояние процесса (т. е. новый, готовый, работающий, ожидающий или завершенный). Поскольку он используется для отслеживания информации о процессе, PCB играет ключевую роль в переключении контекста . [1]

Ядро операционной системы хранит печатные платы в таблице процессов. [2]

Текущий рабочий каталог процесса — это одно из свойств, которое ядро ​​хранит в PCB процесса. [3]

Роль

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

Структура

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

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

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

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

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

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

Расположение

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

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

Примечания

  1. ^ "Блок управления процессом | Baeldung on Computer Science". 25 июня 2020 г.
  2. ^ "Класс 9: Файловая система Unix". www.usna.edu . Получено 2023-12-09 .
  3. ^ "CS 537 Notes: Directorys". pages.cs.wisc.edu . Получено 2023-12-09 .
  4. ^ Ганье, Авраам Зильбершатц, Питер Баер Галвин, Грег (2013). Концепции операционной системы (9-е изд.). Хобокен, Нью-Джерси: Wiley. С. 107–108. ISBN 9781118063330.{{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  5. Юн, Чжан, «Преодоление максимального числа процессов», «Linux Journal», 1 января 2004 г., [1].