Диспетчеризация по приоритетам

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

Данная стратегия, как и предыдущая, имеет варианты с прерыванием и без прерывания.

Более того, стратегию SJF можно рассматривать как диспетчеризацию по приоритетам, в которой приоритетом является очередное время активности.

При диспетчеризации по приоритетам возникает проблема "голодания" (starvation)- ситуации, когда процессы с низким приоритетом могут никогда не исполниться и бесконечно ждать.

Традиционным способом решение данной проблемы в операционных системах является учет возрастапроцесса (aging): c течением времени приоритет процесса повышается системой.

Стратегия Round Robin (RR)

Стратегия Round Robin (RR, круговая система)– это предоставление всем процессам по очереди одинаковых квантов времени. Название стратегии происходит от названия популярной в США карточной игры.

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

Если всего имеется n процессов в очереди готовых к выполнению, и квант времени равен q, то каждый процесс получает 1/n процессорного времени порциями самое большее по q единиц за один раз. Ни один процесс не ждет больше, чем (n-1) q единиц времени.

Производительность данной стратегии зависит от коэффициента q:

Рассмотрим пример применения стратегии RR. Пусть в системе имеются следующие процессы со следующими временами активности:

Процесс Время активности
P1
P2
P3
P4

Схема диспетчеризации процессора по стратегии RR с квантом времени q = 20 приведена на рис. 11.8.


Рис. 11.8. Пример применения стратегии RR (q = 20).

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

На рис. 11.9 иллюстрируется зависимость числа контекстных переключений от кванта времени: чем меньше квант, тем больше число переключений контекста.

Рис. 11.9. Квант времени процессора и время переключения контекста.

На рис. 11.10 приведен пример зависимости времени оборота от кванта времени. В данном случае зависимость носит более сложный характер.