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

Динамическими, в отличие от неизменяемых фиксированных приоритетов.


Процессам, имеющим приоритет, процессорное время также может предоставляться квантами. Процессы, выполняющие ввод/вывод часто блокируются, не исчерпав своего кванта времени. Кроме того они могут осуществлять доступ к общим системным ресурсам, которые должны освобождаться как можно скорее. Когда система переводит процесс из состояния «Блокирован» в состояние «Готов», она ставит его в очередь высокоприоритетных процессов. Если процесс снова блокируется до конца своего кванта времени, система вновь ставит его в очередь высокоприоритетных процессов.

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

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

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

И существуют две очереди с очень низким приоритетом для процессов, исчерпавших свои кванты времени. Такие очереди позволяют назначить процессам, не выполнявшим ввод/вывод, один из двух уровней приоритетов. Система может поддерживать большее количество очередей и, соответственно, большее количество приоритетов, что зависит от требований, предъявленных к системе.

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



Содержание раздела