Операции создания/удаления процессов
1. Порождение (имя процесса): -> начальное состояние.
2. Удаление_п (имя процесса): прекращенное состояние -> Удаление_з (имя процесса): законченное состояние ->.
Операции планирования процессов
3. Запуск (имя процесса): начальное состояние ->
активное состояние {выполнение |готовность|ожидание},
4. Приостановка_в (имя процесса): выполнение ->
приостоновлен_в. Приостановка_г (имя процесса): готовность ->
приостановлен_г. Приостановка_о (имя процесса): ожидание ->
приостановлен_о.
5. Возобновление_в (имя процесса): приостановлен_в ->
готовность. Возобновление_г (имя процесса): приостановлен_г ->
готовность. Возобновление_о (имя процесса): приостановлен_о ->
ожидание.
6. Прекращение _{в|г|о} (имя процесса : активные состояния ->
прекращен. Прекращение_{прс_в|прс_г| прc_о} (имя процесса):
приостановленные состояния -> прекращен.
7. Закончить (имя процесса): выполнение -> закончен.
Операции диспетчеризации процессов
8. Выбор (имя процесса): готовность -> выполнение.
9. Истечение _кванта (имя процесса): выполнение -> готовность.
10. Запрос_ресурса (имя процесса, вид ресурса):
выполнение -> ожидание_ресурса.
11. Выделение_ресурса (имя процесса, вид ресурса):
ожидание_ресурса -> готовность.
Рис.2. Состояния процессов и возможные переходы.
|
|
Запуск
Приостановка
Порождение
Возобновление
Прекращение
Удаление
Завершение
a) активные и пассивные состояния процессов
![]() | |||
![]() | |||
Порождение Запуск Завершение
![]() | ![]() | ||||
![]() | |||||
Прекращение
![]() | |||
![]() | |||
Приостановка
Возобновление
Удаление_п
Удаление_з
б) конкретизация неактивных действий
|
|
![Операции создания/удаления процессов Операции создания/удаления процессов - student2.ru](/images/informatika/operacii-sozdaniya-udaleniya-processov-291136-26.png)
![Операции создания/удаления процессов Операции создания/удаления процессов - student2.ru](/images/informatika/operacii-sozdaniya-udaleniya-processov-291136-27.png)
![Операции создания/удаления процессов Операции создания/удаления процессов - student2.ru](/images/informatika/operacii-sozdaniya-udaleniya-processov-291136-28.png)
Запуск Завершение
Истеч. кванта
![]() |
Выделение ресурса Запрос ресурса
![]() |
|
Прекращение
Возобновление
в) конкретизация активных действий
Итак, процесс – это по сути абстракция, используемая для построения и восприятия концепции функционирования компонентов ОС, организующих распределение ресурсов в условиях многопрограммной работы. Однако процессу соответствуют два реальных объекта: машинная программа, на основании которой процесс будет развиваться, будучи переведенным в активное состояние, и Блок управления процессом (БУП) или дескриптор процесса, представляющий собой информационную структуру (например, таблицу), в которой содержится информация о процессе, необходимая для управления им.
Процесс – динамический объект ВС, он может в ходе своего развития запрашивать и использовать ресурсы, изменять состояние. Динамика изменения состояния, а также связей с ресурсами, обуславливает необходимость создание и поддержание соответствующими компонентами ОС сложных динамических структур, отражающих различные характеристики процессов и ресурсов ВС. Такими информационными структурами, например, являются списки процессов, находящихся в текущий момент времени в одном и том же состоянии: как то, список процессов находящихся в состоянии готовности, список процессов, находящихся в состоянии ожидания, или список процессов, ожидающих доступа к какому-либо определенному ресурсу.
Подобные структуры строятся на основании использования дескрипторов процесса, содержащих в таком случае ссылки на другие процессы (точнее на дескрипторы других процессов), а также на таблицы или блоки управления ресурсами; так, например, одной из основных ссылок, хранящихся в дескрипторе процесса, является ссылка (может быть косвенная) на область ОП, в которой будет размещаться машинная программа при нахождении процесса в активных состояниях.
Информацию, содержащуюся в дескрипторе, можно разделить на ряд функциональных групп:
– информация по идентификации отражает уникальное имя процесса, необходимое для выполнения операций управления процессом;
– информация, о приоритете процесса;
– информация о ресурсах – содержит информацию о ресурсах, которые затребованы и (или) используются процессом в течение времени его существования;
– информация о состоянии процесса – отражает текущее состояние процесса, возможность его перехода в следующее и данные, необходимые для такого перехода;
– информация о родственных связях используется для корректного инициирования и окончания процесса, связанного с другими процессами, передачи для совместного использования некоторых ресурсов, для установления информационных связей, определяет ссылки на средства синхронизации между процессами;
– информация необходимая для поддержания списковых структур процессов, определяет адресные ссылки на другие процессы, отражающие различные списковые структуры дескрипторов процессов.
Вне зависимости от своего представления на физическом уровне, дескрипторы процессов, как отмечалось выше, упорядочиваются в виде списковых структур, в соответствии с состоянием, в котором находятся представляемые ими процессы. Для процессов, находящихся в одинаковых состояниях, доступ к списковым структурам дескрипторов и их упорядочивание часто осуществляется в соответствии с принципом (или правилом) HPF – Highest Priority First (наивысший приоритет обслуживается первым) в сочетании с принципом FCFS -First Come - First Served (первым посту поступил - первым обслужен), называемым также правилом FIFO (First In - First Out). Из-за принципа FCFS, наиболее часто использовавшегося для структуризации процессов в условиях многопрограммного режима работы ВС, соответствующие списки называют "очередями".
Отметим, что доступ (помещение/извлечение) к спискам (дескрипторов) процессов производится при выполнении практически всех операций осуществляемых над процессами.
Совокупность правил и условий, в соответствии с которыми осуществляются планирование и диспетчеризация процессов, называются Дисциплинами планирования (ДП) и диспетчеризации (ДД).
При формировании ДП и ДД могут использоваться правила FCFS (FIFO) и HPF, упомянутые выше, а также ряд других. Одни из них принимают во внимание атрибуты процесса (например, HPF- приоритет), другие - время поступления процесса в систему (FIFO и "противоположное" ему правило LIFO – Last In - First Out).
Среди правил формирования, точнее - упорядочивания, списковых структур, использующих для определения ДП и ДД атрибуты процесса, упомянем правило или принцип SMN – Shorted Memory - Next (следующий с наименьшей областью ОП). При использования данного принципа процесс, занимающий меньший объем ОП, раньше попадет на выполнение ЦП.
В системах разделения времени (см. выше) диспетчеризация процессов осуществляется в соответствии с циклическим принципом выделения каждому процессу времени ЦП. Этот принцип – RR (Round-robin) отражает суть разделения времени ЦП, в соответствии с принципом квантования, предоставлением процессу короткого промежутка времени работы ЦП. Одним из принципов диспетчеризации процесса упомянем правило или принцип SMN – Shorted Memory - Next (следующий с наименьшей областью ОП). При использования данного принципа процесс, занимающий меньший объем ОП, раньше попадет на выполнение ЦП.
В системах разделения времени ЦП между активными процессами диспетчеризация процессов осуществляется в соответствии с циклическим принципом выделения каждому процессу времени ЦП. Этот принцип – RR (Round-robin) отражает суть разделения времени ЦП, в соответствии с которым каждому процессу последовательно для его выполнения на ЦП выделяется квант времени по истечении которого, процесс, если он к этому моменту не был переведен из состояния выполнение (завершен, приостановлен, переведен в состояние ожидание и т.д.), "снимается" с ЦП, переводится в состояние готовность и поступает в очередь готовых процессов.
Правила упорядочивания списков процессов могут объединяться, например, при одинаковых приоритетах необходимо учитывать время поступления процесса. Такие комплексные принципы упорядочивания будем обозначать мнемониками простых правил, объединенных знаком "равно": "=": RR=HPF=FCFS, HPF=SMN=FCFS и т.п.