.
Monday 21st of May 2012    

Информация

Счетчики

Голосование

Лучшая марка телефона
 

Реклама

фильмы онлайн

фильмы онлайн


Активизация готовых процессов
загрузка...

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

Рассмотрим возможный вариант такой реализации. По-прежнему в системе присутствует управляющий процесс. В описатель каждого процесса вводится поле, называемое приоритетом активизации. В системе аппаратно-программными средствами поддерживается набор очередей описателей готовых процессов, каждая из которых обслуживается по принципу FIFO. Описатель находится в очереди, соответствующей его приоритету активизации. При исчерпании очередного кванта времени процессор среди непустых очередей выбирает очередь, соответствующую наиболее высокому приоритету активизации; далее он выбирает из этой очереди описатель, стоящий первым. Этот описатель и будет активизирован. Далее, если процесс переходит в пассивное состояние, он аппаратно исключается из очереди. Наоборот, процесс, перешедший в состояние «готов», аппаратно ставится в соответствующую его приоритету активизации очередь.

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


загрузка...
 

Самое популярное:

Наши партнеры

bottom

карта сайта