Блок управления процессом
Для того чтобы операционная система могла управлять процессами, она должна располагать всей необходимой для этого информацией. С этой целью каждому процессу приводится в соответствие специальная информационная структура, называемая БЛОКОМ УПРАВЛЕНИЯ ПРОЦЕССОМ ( или ОПИСАТЕЛЕМ ПРОЦЕССА). В общем случае блок управления процессом содержит следующую информацию:
1. идентификатор процесса;
2. тип процесса, который определяет правила предоставления ресурсов;
3. приоритет процесса, в соответствии с которым, супервизор предоставляет ресурсы. В рамках одного типа процессов в первую очередь обслуживаются более приоритетные процессы;
4. индикатор, определяющий состояние процесса (готовность к работе, состояние выполнения или ожидания и т. д.);
5. защищенную область памяти (или адрес области), в которой записываются текущие значения регистров процессора, если процесс прерывается, не закончив работы. Эта информация называется контекстом;
6. информацию о ресурсах, которые выделены процессу или к которым он имеет право доступа;
7. адрес области оперативной памяти, где записан процесс;
8 время запуска процесса и периодичность запуска;
9 для диск-резидентных процессов — адрес расположения на диске.
Для обеспечения быстрого доступа блоки управления процессами, как правило, постоянно располагаются в оперативной памяти. Супервизор организует их в списки, каждый из которых характеризует владение ресурсом или очередь к нему. Изменение состояния процесса отражается перемещением соответствующего описателя по списку или из одного списка в другой.
Потоки
При работе в мультипрограммном режиме каждый процесс является обособленным и независимым. Он имеет свои собственные ресурсы, в частности виртуальное адресное пространство и программные ресурсы: файлы, окна и т.д. Другими ресурсами процессы владеют попеременно в порядке, устанавливаемом ОС. Ввиду обособленности процессов переключение ресурсов с одного процесса к другому требует затрат времени, в ходе которого ресурсы могут простаивать. Однако, обособленность процессов необходима для обеспечения правильного оперирования с информацией и недопущения ее несанкционированной записи, использования или стирания.
Мультипрограммный режим получает дополнительные возможности совершенствования при наличии в процессе внутреннего параллелизма. Такой процесс может быть разбит на подпроцессы, которые одновременно используют часть ресурсов процесса, а попеременно получают только один из видов ресурсов – процессорное время. При этом переключение подпроцессов занимает меньшее время, чем переключение процессов, так как фактически переключить надо только контекст подпроцессов.
Параллельное выполнение таких подпроцессов в рамках одного процесса может сократить время выполнения процесса или сделать более удобным работу пользователя. Такие подпроцессы называются ПОТОКАМИ.
Примером эффективности поточного выполнения процесса может служить интерактивное управление приложением, требующим больших затрат процессорного времени. При разбиении этого процесса на потоки пользователь может управлять приложением через соответствующий интерфейс одновременно с выполнением процесса.
Одновременное параллельное выполнение нескольких потоков процесса называется МНОГОПОТОЧНОЙ ОБРАБОТКОЙ.
Термин «процесс» означает необходимость учета при диспетчеризации всех ресурсов, требуемых процессу. Термин «поток» используется для наименовании процедуры распределения процессорного времени между частями процесса. Потокам можно присвоить приоритеты, обеспечив первоочередное выполнение наиболее важных подпроцессов.
Однако, при многопоточной организации выполнения процесса в однопроцессорной системе возможны ситуации передача информации из высокоприоритетного потока в низкоприоритетный поток. Если процессор при этом перегружен очередью на выполнение приоритетных потоков, программа при некорректной записи может стать неуправляемой, так как высокоприоритетный поток не сможет завершиться. Частая синхронизация потоков приводит к частому переключению ресурсов: процессорного времени, обращения к виртуальной памяти. Процессорное время, при этом, расходуется неэффективно.
Многопоточность целесообразно применять при существенно независимых потоках. Формирование потоков приносит большой эффект в многопроцессорных системах.
ЛЕКЦИЯ№4
Прерывания
Прерывания представляют собой механизм, позволяющий координировать параллельное выполнение процессов, приостанавливать выполнение процесса по команде извне, из программы, в частности по предъявлению требований на новый ресурс, реагируя на особые состояния, возникающие при работе процессора. ПРЕРЫВАНИЕ — это принудительная передача управления от выполняемой программы к ОС, происходящая при возникновении определенного события.
Исполнение прерываний опирается на два механизма:
— МЕХАНИЗМ ПРЕРЫВАНИЙ,
— МЕХАНИЗМ ОБРАБОТКИ ПРЕРЫВАНИЙ.
Схема исполнения прерываний показана на рисунке 2.
Рисунок 2.Схема исполнения прерываний
Механизм прерываний
Механизм прерываний определяет факт возникновения причины прерывания, приостанавливает выполнение процесса и передает управление ОС обработчику прерываний. Механизм прерываний реализуется аппаратно-программными средствами.
Прерывания делят на два основных класса: внешние и внутренние.
Внешние прерывания вызываются событиями, происходящими вне прерываемого процесса. Ими могут быть:
— прерывания от внешних устройств (например устройств ввода/вывода);
— прерыванияиз-за нарушения питания;
— прерывания по таймеру;
— прерывания оператора вычислительной системы;
— прерывания по сигналу от другого процессора многопроцессорной системы или другой вычислительной системы.
Внутренние прерывания формируются самим процессором и, соответственно, синхронизированы с его операциями. Прерывания, вызванные следующими причинами, относятся к внутренним:
— выработка недопустимого адреса исполняемой команды или ячейки памяти;
— ошибка выработки кода операции;
— — ошибки, выявленные проверкой четности,
— переполнение илиисчезновение порядка расчетной величины;
— деление на нуль;
— выработка программой кода прерывания.
Прерывания последнего типа называются программными. Данные прерывания используются в случаях, когда в программах выполняемых процессов закладывается передача управления ОС.
Причины, вызывающие прерывания, выявляются процессором или другими устройствами. Они могут возникать последовательно или одновременно. Выбор прерывания для обработки осуществляется механизмом обработки прерываний.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
3.3 Блок управления процессом
Для того чтобы операционная система могла управлять процессами, она должна располагать всей необходимой для этого информацией. С этой целью на каждый процесс заводится специальная информационная структура, содержащая определенную важную информацию о процессе, и называемая дескриптором процесса (блоком управления процессом – Process Control Block – PCB). В общем случае дескриптор процесса содержит следующую информацию:
идентификатор процесса (так называемый PID — Process IDentificator);
тип (или класс) процесса, который определяет для супервизора некоторые правила предоставления ресурсов;
приоритет процесса, в соответствии с которым супервизор предоставляет ресурсы. В рамках одного класса процессов в первую очередь обслуживаются более приоритетные процессы;
переменную состояния, которая определяет, в каком состоянии находится процесс (готов к работе, в состоянии выполнения, ожидание устройства ввода/вывода и т.д.);
защищенную область памяти (или адрес такой зоны), в которой хранятся текущие значения регистров процессора, если процесс прерывается, не закончив работы. Эта информация называется контекстом задачи (процесса);
информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться (указатели на открытые файлы, информация о незавершенных операциях ввода/вывода и т. п.);
место (или его адрес) для организации общения с другими процессами;
параметры времени запуска (момент времени, когда процесс должен активизироваться, и периодичность этой процедуры).
Таким образом, в блоке управления процессом операционная система может сосредоточить всю ключевую информацию о процессе.
Блоки управления процессами, как правило, постоянно располагаются в оперативной памяти с целью ускорить работу супервизора, который организует их в списки (очереди) и отображает изменение состояния процесса перемещением соответствующего описателя из одного списка в другой. Для каждого состояния (за исключением состояния выполнения для однопроцессорной системы) операционная система ведет соответствующий список задач, находящихся в этом состоянии. Однако для состояния ожидания может быть не один список, а столько, сколько различных видов ресурсов могут вызывать состояние ожидания. Например, состояний ожидания завершения операции ввода/вывода может быть столько, сколько устройств ввода/вывода имеется в системе. Поскольку операционная система должна иметь возможность быстро выполнять операции с различными РСВ, во многих вычислительных машинах предусматривается специальный аппаратный регистр, который всегда указывает на РСВ текущего выполняемого процесса. Зачастую имеются также аппаратно-реализованные команды, которые обеспечивают быструю загрузку информации состояния в РСВ и последующее быстрое восстановление этой информации.
3.4 Операции над процессами
Системы, управляющие процессами, должны иметь возможность выполнять определенные операции над процессами, в том числе:
Блок управления процессом — Process control block
A блок управления процессом (PCB) — это структура данных, используемая компьютерами операционными системами для хранения всей информации о процессе. Он также известен как дескриптор процесса . .
- Когда процесс создается (инициализируется или устанавливается), операционная система создает соответствующий блок управления процессом.
- Информация в блоке управления процессом обновляется во время переход состояний процесса.
- Когда процесс завершается, его печатная плата возвращается в пул, из которого выводятся новые печатные платы.
- Каждый процесс имеет одну печатную плату.
Содержание
- 1 Роль
- 2 Структура
- 3 Местоположение
- 4 См. Также
- 5 Примечания
Роль печатных плат является центральной в управлении процессами: к ним осуществляется доступ и / или изменен большинством коммунальных предприятий, особенно теми, кто занимается планированием и управлением ресурсами.
Структура
В многозадачных операционных системах на плате хранятся данные, необходимые для правильного и эффективного управления процессами. Хотя детали этих структур зависят от системы, общие элементы делятся на три основные категории:
- Идентификация процесса
- Состояние процесса
- Управление процессом
Таблицы состояния существуют для каждого соответствующего объекта, например, описание памяти, устройств ввода-вывода, файлов и процессов.
Таблицы памяти, например, содержат информацию о распределении основной и вторичной (виртуальной) памяти для каждого процесса, атрибуты авторизации для доступа к областям памяти, совместно используемым различными процессами, и т. Д. Таблицы ввода-вывода могут содержать записи, указывающие доступность устройства или его назначение процессу, состояние операций ввода-вывода, расположение используемых для них буферов памяти и т. д.
Идентификационные данные процесса включают уникальный идентификатор процесса (почти всегда целое число), а в многопользовательской многозадачной системе — данные, такие как идентификатор родительского процесса, идентификатор пользователя, идентификатор группы пользователей и т. д. Идентификатор процесса особенно важен, поскольку он часто используется для перекрестных ссылок на таблицы, определенные выше, например показывая, какой процесс использует какие устройства ввода / вывода или области памяти.
Данные состояния процесса определяют состояние процесса, когда он приостановлен, позволяя ОС перезапустить его позже. Сюда всегда входит содержимое регистров ЦП общего назначения, слово состояния процесса ЦП, указатели стека и кадра и т. Д. Во время переключения контекста выполняющийся процесс останавливается и запускается другой процесс. Ядро должно остановить выполнение запущенного процесса, скопировать значения аппаратных регистров на свою печатную плату и обновить аппаратные регистры значениями с печатной платы нового процесса.
Информация об управлении процессом используется ОС для управления самим процессом. Сюда входят:
- Состояние планирования процесса — состояние процесса в терминах «готов», «приостановлен» и т. Д., А также другую информацию планирования, такую как значение приоритета, количество времени, прошедшее с момента получения процесса. управление процессором или с момента его приостановки. Кроме того, в случае приостановленного процесса, данные идентификации события должны быть записаны для события, которого процесс ожидает.
- Информация о структурировании процесса — идентификаторы дочерних процессов процесса или идентификаторы других процессов, связанных с текущим каким-либо функциональным образом, который может быть представлен в виде очереди, кольца или других структур данных
- Информация о межпроцессном взаимодействии — флаги, сигналы и сообщения, связанные с обменом данными между независимыми процессами
- Привилегии процесса — разрешен / запрещен доступ к системным ресурсам
- Состояние процесса — новый, готов, выполняется, ожидает, мертв
- Номер процесса (PID) — уникальный идентификационный номер для каждого процесса (также известный как Идентификатор процесса )
- Программный счетчик (ПК) — указатель на адрес следующей инструкции, которая должна быть выполнена для этого процесса
- Регистры ЦП — набор регистров, в котором процесс должен быть сохранен для выполнения в рабочем состоянии
- Информация о планировании ЦП — информация о планировании времени ЦП
- Управление памятью Информация о мерах — таблица страниц, ограничения памяти, таблица сегментов
- Учетная информация — объем CPU, используемый для выполнения процесса, ограничения по времени, идентификатор выполнения и т. д.
- I / O Информация о состоянии — список устройств ввода / вывода, назначенных процессу.
Местоположение
Печатная плата должна храниться в области памяти, защищенной от обычного доступа процесса. В некоторых операционных системах печатная плата размещается в начале ядра стека процесса.
15) Управление процессами в ОС
Процесс – это выполнение программы, которая выполняет действия, указанные в этой программе. Его можно определить как исполнительный модуль, в котором выполняется программа. ОС помогает вам создавать, планировать и завершать процессы, используемые процессором. Процесс, созданный основным процессом, называется дочерним процессом.
Процессами можно легко управлять с помощью печатной платы (блок управления процессом). Вы можете рассматривать его как мозг процесса, который содержит всю важную информацию, связанную с обработкой, такую как идентификатор процесса, приоритет, состояние, регистры процессора и т. Д.
Из этого руководства по операционной системе вы узнаете:
Что такое управление процессами?
Управление процессами включает в себя различные задачи, такие как создание, планирование, завершение процессов и блокировка. Процесс – это исполняемая программа, которая является важной частью современных операционных систем. ОС должна распределять ресурсы, которые позволяют процессам обмениваться информацией и обмениваться ею. Он также защищает ресурсы каждого процесса от других методов и обеспечивает синхронизацию между процессами.
Задача ОС – управлять всеми запущенными процессами системы. Он обрабатывает операции, выполняя такие задачи, как планирование процессов и, например, распределение ресурсов.
Архитектура процесса
Вот схема архитектуры процесса
- Стек: Стек хранит временные данные, такие как параметры функции, адреса возврата и локальные переменные.
- Куча Распределяет память, которая может быть обработана во время выполнения.
- Данные: содержит переменную.
- Текст: текстовый раздел включает текущее действие, которое представлено значением счетчика программы.
Блоки управления процессом
Печатная плата является полной формой блока управления процессом. Это структура данных, которая поддерживается операционной системой для каждого процесса. Печатная плата должна быть обозначена целочисленным идентификатором процесса (PID). Это поможет вам хранить всю информацию, необходимую для отслеживания всех запущенных процессов.
Он также отвечает за хранение содержимого регистров процессора. Они сохраняются, когда процесс переходит из рабочего состояния, а затем возвращается в него. Информация быстро обновляется в печатной плате операционной системой, как только процесс выполняет изменение состояния.
Состояние процесса

Состояние процесса – это состояние процесса в определенный момент времени. Он также определяет текущую позицию процесса.
Есть в основном семь этапов процесса, которые:
- Новый: новый процесс создается, когда конкретная программа вызывает из вторичной памяти / жесткого диска в первичную память / ОЗУ
- Готов: в состоянии готовности процесс должен быть загружен в основную память, которая готова к выполнению.
- Ожидание: процесс ожидает выделения процессорного времени и других ресурсов для выполнения.
- Выполнение: процесс находится в состоянии выполнения.
- Заблокировано: это временной интервал, когда процесс ожидает завершения события, такого как операции ввода-вывода.
- Приостановлено: состояние приостановки определяет время, когда процесс готов к выполнению, но ОС не помещает его в очередь готовности.
- Прекращено: Завершенное состояние указывает время, когда процесс завершается
После выполнения каждого шага все ресурсы используются процессом, и память становится свободной.
Блок управления процессом (PCB)
Каждый процесс представлен в операционной системе блоком управления процессом, который также называется блоком управления задачами.
