Рассмотрим модельную ОС

Процесс- совокупность машинных команд и данных,которая исполняется в рамках вычислительной системы и обладает правами на владение некоторым набором ресурсов.

Управление процессами

Определение процесса. Основные понятия

Ресурсы могут принадлежать только одному процессу, либо ресурсы могут разделяться между процессами – разделяемые ресурсы

Выделение ресурсов процессу:

-предварительная декларация – до начала выполнения

- динамическое пополнение списка принадлежащих

- процессу ресурсов

Количество допустимых процессов в системе – ресурс ВС.

Рассмотрим типовые этапы обработки процесса в системе, совокупность этих этапов будем назвать жизненным циклом процесса в системе.

Жизненный цикл процесса содержит этапы:

•образование (порождение) процесса;

•обработка (выполнение) процесса;

•ожидание (по тем или иным причинам) постановки на выполнение;

•завершение процесса.

Пусть имеется специальный буфер ввода процессов (БВП) – пространство, в котором размещаются и хранятся сформированные процессы от момента их образования, до момента начала выполнения. На данном этапе происходит формирование всех необходимых структур данных, соответствующих процессу. В частности, на данном этапе ОС формирует информацию о предварительно заказанных данным процессом ресурсах. Основная задача БВП – «подпитка» системы новыми процессами, готовыми к исполнению.

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

Жизненный цикл процесса.

0. Поступление процесса в очередь на начало обработки ЦП

(процесс попадает в БВП).

1. Начало обработки процесса на ЦП (из БВП в БОП).

2. Приостановка обработки процесса на ЦП по той или инойпричине (попадает в БОП). Переход в состояние ожидания дальнейшего выполнения.

3. Возобновление выполнения процесса на ЦП.

4. Завершение выполнения процесса, освобождение системных ресурсов.

Модель пакетной однопроцессной системы

       
   
 


0 Поступление процесса в очередь на начало обработки ЦП

(процесс попадает в БВП).

1. Начало обработки процесса на ЦП (из БВП в БОП).

2. Завершение выполнения процесса, освобождение системных ресурсов.

Модель пакетной мультипроцессной системы

0. Поступление процесса в очередь на начало обработки ЦП (процесс попадает в БВП)

1. Начало обработки процесса на ЦП (из БВП в ВОП)

2. Процесс прекращает обработку ЦП по причине ожидания операции в/в, поступает в очередь завершения операции обмена (БОП).

3. Операция обмена завершена и процесс поступает в очередь ожидания продолжения выполнения ЦП (БОП).

4. Выбирается процесс для выполнения на ЦП.

6. Завершение выполнения процесса, освобождение системных ресурсов.

5. Процесс прекращает обработку ЦП, но в любой момент может

быть продолжен(истек квант времени ЦП, выделенный

процессу). Поступает в очередь процессов, ожидающих

продолжения выполнения центральным процессором (БОП).

       
   
 
 


Заблокированный процесс может быть перекачен (своппирован) на внешний носитель, а на освободившееся место может быть подкачен процесс со внешнего носителя, который был откачен ранее, либо взят новый.


Типы процессов.

В мультипрограммной среде управление такими процессами тесно связано с управлением и защитой памяти, поэтому переключение процессора с выполнения одного процесса на выполнение другого является достаточно дорогой операцией.

«Полновесные процессы» - это процессы, выполняющиеся внутри защищенных участков памяти операционной системы, то есть имеющие собственные виртуальные адресные пространства для статических и динамических данных. ОС берет на себя функцию разделения ресурсов между конкурирующими процессами.

В дальнейшем, используя термин процесс будем подразумевать полновесный процесс.

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

Однонитевая организация процесса – «один процесс – одна нить»:

одному процессу соответствует одна нить. Управление планированием там происходит по одной ниточке

Многонитевая организация процесса:

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

Понятие процесса может включать в себя понятие исполняемой нити, т. е. однонитевую организацию – «один процесс – одна нить». В данном случае понятие процесса жестко связано с понятием отдельной и недоступной для других процессов виртуальной памяти.

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

Ос планирует выполнение нитей внутри процесса.

В функции ОС входят обеспечение взаимодействия нитей.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: