Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

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

Из Википедии — свободной энциклопедии

Блок управления процессом (на англ. PCBProcess control block) — это структура данных, используемая компьютерными операционными системами для хранения всей информации о процессе. Также известен как дескриптор процесса. Когда процесс создается (инициализируется или устанавливается), операционная система создает соответствующий блок управления процессом[1][2][3][4][5].

Такая структура позволяет определить состояние процесса, такое как: новый, готовый, выполняющийся, ожидающий, завершенный и т. п.

Роль

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

Структура

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

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

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

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

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

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

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

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

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

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

См. также

Примечания

  1. Робачевский А. М., Немнюгин С. А., Стесик О. Л.. Глава 1. Работа в операционной системе UNIX // Операционная система UNIX. — 2-е изд. — СПб.: БХВ-Петербург, 2010. — С. 46-53. — 656 с. — ISBN 978-5-94157-538-1.
  2. Рихтер Дж.. Глава 4. Процессы // Windows для профессионалов = Programming Applications for Microsoft Windows. — 4-е изд. — СПб.: Питер, 2008. — С. 48-83. — 720 с. — ISBN 5–272–00384—5.
  3. Таненбаум Э. С., Бос Х.. Глава 2. Процессы и потоки // Современные операционные системы = Modern Operating Systems. — 4-е изд. — СПб.: Питер, 2015. — С. 111-118. — 1120 с. — ISBN 978-5-4461-1155-8. Архивировано 4 марта 2022 года.
  4. Лав Р. Глава 3. Управление процессами // Ядро Linux Описание процесса разработки. — 3-е изд. — М.: Вильямс, 2013. — С. 51-72. — 496 с. — ISBN 978-5-8459-1779-9.
  5. Лав Р. Глава 5. Управление процессами // Linux. Системное программирование = Linux. System Programming. — 2-е изд. — СПб.: Питер, 2014. — С. 171-209. — 448 с. — ISBN 78-5-496-00747-4.
  6. Silberschatz Abraham, Galvin P. B., Gagne Greg. Operating system concepts (англ.). — 9-е изд. — Hoboken, N.J.: Hoboken, N.J. : Wiley ; Chichester : John Wiley, 2013. — P. 107-108. — ISBN 9781118063330.
  7. Yong Zhang. Breaking through the Maximum Process Number // Linux Journal. — 2004. — 1 января. Архивировано 13 августа 2019 года.

Ссылки

Эта страница в последний раз была отредактирована 15 июля 2023 в 09:32.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).