Что такое блок управления процессом
Перейти к содержимому

Что такое блок управления процессом

  • автор:

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

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

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

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

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

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

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

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

Состав и строение информации в структуре процесса зависит от конкретной ОС. Во многих ОС информация характеризующая процесс может храниться в нескольких связанных структурах данных. Также структуры данных могут иметь различные наименования, содержать дополнительную информацию или только её часть. Важно, что для любого процесса находящегося в вычислительной системе вся его информация для работы доступна ОС. Будем считать, что вся информация хранится в одной структуре данных, называемой блоком управления процессом (PCB – Process Control Block). Любая операция производимая или выполняемая ОС над процессом вызываем определенные изменения в PCB. Информация для хранения которой предназначен PCB разделен на две части: 1. регистровый контекст (к нему относится содержимое всех регистров процессора, в том числе значения программного счетчика) 2. системный контекст процесса (к нему относится вся остальная информация). Использования значения описанных выше контекстов достаточно для управления поведения процесса в ОС при совершении над ним операций, но недостаточно для полного описания процесса. Поэтому вводим понятие 3. пользовательского контекста (к нему относятся код и данные находящиеся в его адресном пространстве). Совокупность описанных выше трёх контекстов процессов, объединяет понятие контекст процесса, таким образом процесс в любой момент времени полностью характеризуется своим контекстом.

Одноразовые операции.

Жизненный путь любого процесса в компьютере начинается в компьютере начинается с его рождения. Любая ОС поддерживающая концепцию процессов должна обладать средстами для их создания. В очень простых системах (например в системах спроектированных для работы только одного приложения) все процессы могут быть порождены на этапе старта системы. Более сложные ОС создают процессы динамически, по мере необходимости. Инициатором рождения нового процесса после старта ОС может выступить либо процесс пользователя совершивший специальный системный вызов, либо сама ОС. Процесс инициировавший создание нового процесса принято называть процессом родителем. А вновь созданный процесс процессом ребенком. Процессы дети могут порождать новых детей и т. д. В общем случае внутри системы организуется набор генеалогических деревьев процессов — генеалогический лес. Все пользовательские процессы вместе с некоторыми процессами ОС принадлежат к одному и тому же дереву леса. При рождении процесса система заводит новый PCB и начинает его заполнение. Новый процесс получает свой собственный уникальный идентификационный номер. Для хранения данного номера процесса в ОС отводится определнное кол-во бит. Кол-во одновременно присутствующих в ОС процессах должно быть ограничено.

После завершения какого либо процесса его освободившийся идентификационный номер может быть повторно использован для другого процесса. Обычно для выполнения своих функций процесс ребенок требует определенных ресурсов: памяти, файлов, устройств ввода-вывода и т. д. Существуют два подхода к их выделению: 1. при первом подходе новый процесс может получить в своё пользование некоторую часть родительских ресурсов, разделяя с процессом родителем и другими процессами детьми права на них. 2. при втором подходе новый процесс может получить свои ресурсы непосредственно из самой ОС. Вся информаци

я о выделенных ресурсах заносится в PCB. Далее необходимо занести в адресное пространство процесса ребенка программный код, значения данных, установить программный счетчик — это осуществляется одним из двух способов: 1. процесс ребенок становится дубликатом процесса родителя по регистровому и пользовательскому контекстам, при этом должен существовать способ определения родителя из двух процессов двойников. 2. существование программ, т. е. исполняемых файлов для работы которых организуется более одного процесса. После того как процесс был наделен содержанием в PCB дописывается оставшаяся информация и состояние нового процесса изменяется на состояние готовности. После рождения процесса ребенка процесс родитель может продолжать своё выполнение с ним или может ожидать завершения работы некоторых или всех своих процессов детей.

После того как процесс завершит свою работу ОС переведет его в состояние закончил исполнение и освобождает все ассоциированные с ним ресурсы. При этом производятся соответствующие записи в PCB. Далее блок не удаляется а остаётся в системе на некоторое время для того, чтобы в дальнейшем процесс родитель смог при запросе у ОС получить сведения о причине завершения процесса ребенка или (и) статистическую информацию о его работе. Данная информация сохраняется в PCB законченного процесса ребенка, до запроса процесса родителя или до конца его деятельности. После этого вся информация о процессе ребенке удаляется из системы. К примеру в ОС unix процессы находящиеся в состоянии: закончил исполнение называются процессы-зомби.

Блок управления процессом, системные очереди

1. Презентация: Блок управления процессом, системные очереди.

Карагандинский колледж
экономики и статистики
Презентация: Блок управления процессом,
системные очереди.

2. Понятие процесса

ОС исполняет множество классов программ:
Пакетная система (batch system) – задания (jobs)
Система с разделением времени – пользовательские программы (задачи –
tasks)
Во многих учебниках термины “задание” и “процесс” – почти синонимы
Процесс – программа при ее выполнении; он должен выполняться
последовательно
Процесс включает:
Счетчик команд (program counter)
Стек (stack)
Секцию данных (data section)

3. Блок управления процессом (Process Control Block – PCB)

Информация, ассоциируемая с каждым
процессом
Состояние процесса
Счетчик команд
Регистры процессора
Информация для диспетчеризации процессора
Информация для управления памятью
Статистическая информация
Информация о состоянии ввода-вывода

4. Блок управления процессом (PCB)

5. Переключение процессора с одного процесса на другой

6. Очереди, связанные с диспетчеризацией процессов

Очередь заданий (Job queue) – множество
всех процессов в системе
Очередь готовых процессов (Ready queue) –
множество всех процессов, находящихся в
основной памяти и готовых к выполнению
Очередь ожидающих ввода-вывода (Device
queues) – множество процессов, ожидающих
результата работы устройства ввода-вывода
Процессы мигрируют между различными
очередями

7. Очередь готовых процессов и очереди к различным устройствам ввода-вывода

8. Графическое представление диспетчеризации процессов

9. Планировщики

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

10. Добавление планировщика откачки и подкачки процессов

11. Особенности планировщиков и процессов

Кратковременный планировщик вызывается очень часто (в
течение ближайших миллисекунд) => должен быть очень
быстрым
Долговременный планировщик вызывается
относительно редко (минуты, секунды) => может быть
сравнительно медленным
Именно долговременный планировщик определяет
степень (коэффициент) мультипрограммирования
Процессы можно описать как:
Ориентированные на ввод-вывод (I/O-bound) – тратят
больше времени на ввод-вывод, чем на вычисления;
расходуют много коротких квантов процессорного
времени
Ориентированные на использование процессора
(CPU-bound) – тратят основное время на вычисления;
расходуют небольшое число долговременных
квантов процессорного времени

12. Переключение контекста процесса (context switch)

Когда процессор переключается на другой процесс,
система должна сохранить состояние старого процесса и
загрузить сохраненное состояние для нового процесса
Переключение контекста относится к накладным
расходам (overhead); система не выполняет никаких
полезных действий при переключении с одного процесса
на другой
Время зависит от аппаратной поддержки.
Пример: “Эльбрус” – контекстное переключение – одна
команда СМСТЕК (сменить стек, т.е. переключиться с
одного облегченного процесса на другой)

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

Процессы имеют характеристики, используемые для идентификации и определения их поведения. Ядро поддерживает необходимые структуры данных и предоставляет системные функции, которые дают возможность пользователю получить доступ к этой информации. Некоторые данные хранятся в блоках управления процессами (process control block—PCB), или БУП. Данные, хранимые в БУП-блоках, описывают процесс с точки зрения потребностей операционной системы. С помощью этой информации операционная система может управлять каждым процессом. Когда операционная система переключается с одного процесса на другой, она сохраняет текущее состояние выполняющегося процесса и его контекст в области сохранения БУП-блока, чт обы надлежащим образом возобновить выполнение этого процесса в следующий раз, когда ему снова будет выделен центральный процессор (ЦП). БУП-блок считывается и обновляется различными модулями операционной системы. Модули «отвечают» за контроль производительности операционной системы, планирование, распределение ресурсов и доступ к механизму обработки прерываний и/или модифицируют БУП-блок. Блок БУП содержит следующую информацию:

• текущее состояние и приоритет процесса;

• идентификатор процесса, а также идентификаторы родительского и сыновнего процессов;

• указатели на выделенные ресурсы;

• указатели на область памяти процесса;

• указатели на родительский и сыновний процесс;

• процессор, занятый процессом;

• регистры управления и состояния;

Среди данных, содержащихся в БУП-блоке, есть такие, которые «отвечают» за управление процессом, т.е. отражают его текущее состояние и приоритет, указывают на БУП-блоки родительского и сыновнего процессов, а также выделенные ресурсы и память. Кроме того, этот блок включает информацию, связанную с планированием, привилегиями процессов, флагами, сообщениями и сигналами, которыми обмениваются процессы (имеется в виду межпроцессное взаимодействие— mterprocess communication, или IPC). С помощью информации, связанной с управлением процессами, операционная система может координировать параллельно выполняемые процессы. Стековые указатели и содержимое регистров пользователя, управления и состояния содержат информацию, связанную с состоянием процессора. При выполнении процесса соответствующая информация размещается в регистрах ЦП. При переключении операционной системы с одного процесса на другой вся информация из этих регистров сохраняется. Когда процесс снова получает ЦП во «временное пользование», ранее сохраненная информация может быть восстановлена. Есть еще один вид информации, который связан с идентификацией процесса. Имеется в виду идентификатор процесса (id), или PID, и идентификатор родительского процесса (PPID). Эти идентификационные номера (которые представлены положительными целочисленными значениями) уникальны для каждого процесса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *