Переход процесса из состояния в состояние



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Переход процесса из состояния в состояние



Когда в систему поступает некоторое задание, она создает соответствующий процесс, который затем устанавливается в конец списка готовых процессов. Этот процесс постепенно продвигается к головной части списка — по мере завершения выполнения преды­дущих процессов. Когда процесс оказывается 1-ым в списке го­товых и когда освобождается ЦП, этому про­цессу выделяется ЦП и говорят” что происходит смена состояния

Пробуждение процесса – переход из состояния готовности в состояние вы­полнения. Предоставление ЦП 1-му процессу списка готовых процессов называется запуском, или выбором процесса для выполнения, и это делается при помощи системной программы, называемой диспетчером. Подобную смену состояния обозначается следующим образом: запуск (имяпроцесса): готов -> выполняется.

Чтобы предотвратить либо случайный, либо умышленный монопольный захват ресурсов машины каким-то од­ним процессом; ОС устанавливает в специальном аппаратном таймере прерываний некоторое значение, определяющее временной интервал, или квант времени, в течение которого дан­ному процессу пользователя разрешается занимать ЦП. Если процесс добровольно не освободит ЦП до истечения указанного временного интервала, таймер выработает сигнал прерывания, по которому управление будет передано ОС. После этого ОС переведет ранее выполнявшийся про­цесс в состояние готовности, а 1-ый процесс списка готовых – в состояние выполнения. Эти смены состояний обозначаются так:

истечение кванта (имяпроцесса): выполняется -> готов и

запуск (имяпроцесса): готов -> выполняется

Если выполняющийся процесс до истечения отпущенного ему кванта времени инициирует операцию ввода-вывода, этот процесс тем самым добровольно освобождает ЦП (т. е. сам себя блокирует в ожидании завершения указанной операции ввода-вывода). Эта смена состояния изображается следующим образом:

блокирование (имяпроцесса): выполняется -> блокирован

В нашей модели с 3-мя состояниями может иметь место еще лишь одна допустимая смена состояния — когда завершается опе­рация ввода-вывода (или происходит какое-либо другое событие, ожидаемое процессом). При этом процесс переходит из состояния блокировки в состояние готовности. Эта смена состояния обозна­чается так: пробуждение (имяпроцесса): блокирован -> готов

Таким образом существуют 4 возможных смены со­стояния процесса:

запуск (имяпроцесса): готов -> выполняется

истечениекванта (имяпроцесса): выполняется -> готов

блокирование (имяпроцесса): выполняется -> блокирован

пробуждение (имяпроцесса): блокирован -> готов

Отметим, что единственная смена состояния, инициируемая самим процессом пользователя,— это блокирование, остальные три смены состояния инициируются объектами, внешними по отно­шению к данному процессу.

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

Представителем процесса в ОС является блок управления процессом (РСВ – process control block). Это структура данных, содержа­щая определенную важную информацию о процессе, в т. ч.:

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

- уникальный идентификатор процесса;

- приоритет процесса;

- указатели памяти процесса;

- указатели выделенных процессу ресурсов;

- область сохранения регистров.

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

Таким образом, РСВ — это объект, который определяет про­цесс для ОС.

Операции над процессами

Системы, управляющие процессами, должны иметь возможность выполнять определенные операции над процессами, в т.ч.:

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

- уничтожение процесса;

- возобновление процесса;

- изменение приоритета процесса;

- блокирование процесса;

- пробуждение процесса;

- запуск (выбор) процесса.

Создание процесса состоит из многих операций, включая:

- присвоение имени процессу;

- включение этого имени в список имен процессов, известных системе;

- определение начального приоритета процесса;

- формирование блока управления процессом РСВ;

- выделение процессу начальных ресурсов.

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

Уничтожение процесса означает его удаление из системы. Ре­сурсы, выделенные этому процессу, возвращаются системе, имя процесса в любых системных списках или таблицах стирается, и блок управления процессом освобождается.

Приостановленный процесс не может продолжить свое выпол­нение до тех пор, пока его не активизирует какой-либо другой процесс.

Возобновление (или активация) процесса — операция подго­товки процесса к повтор. запуску с той точки, в которой он был приостановлен.

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

 

 



Последнее изменение этой страницы: 2016-04-07; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.237.124.210 (0.005 с.)