Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VSOS_2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.9 Mб
Скачать

6Карусельная стратегия планирования

Карусельная стратегия или «круговорот» (RR, RoundRobin) разработана специально для систем с разделением времени. В ее основе лежит концепция квантования. В соответствии с этой концепцией каждому процессу для выполнения выделяется непрерывный небольшой отрезок процессорного времени, называемый квантом времени (time quantum). Квант времени часто лежит в промежутке (10 – 100 мс). Очередь готовых процессов интерпретируется как кольцевая очередь. Процессы циклически перемещаются по очереди, получая процессор на время равное одному кванту. Новый процесс добавляется в «хвост» очереди. Если процесс не завершается в пределах выделенного ему кванта времени его работа принудительно прерывается и он перемещается в «хвост» очереди.

Пример

Р1 (24 мс)

Р2 (3 мс)

Р3 (3 мс)

В том случае если, временной квант равен 4 мс диаграмма Ганта соответствующая - стратегии имеет вид изображенной на рис. 7.6.

Р1

Р2

Р3

Р1

Р1

Р1

Р1

Р1

0

4

7

10

14

18

22

26

30

Рисунок 7.17 - Диаграмма Ганта для случая RR стратегии планирования

Первый процесс из очереди готовых процессов получает квант времени длиной в q секунд, а затем отправляется снова в конец очереди, если только он себя не заблокирует. Если в очереди имеется К процессов, то каждый процесс получает q секунд из каждых Kq секунд процессорного времени. Следовательно, каждый процесс как бы выполняется процес­сором, скорость которого равна 1//С скорости физического процессора. Поэтому длина очереди – это важный параметр, определяющий быстроту продвижения процессов.

Величина кванта q определяет, насколько равномерно распределено время процессора по коротким периодам. Если время q бесконечно, то метод круговорота сводится к стратегии FCFS. С уменьшением q улучшается обслуживание более коротких процессов. Когда q очень мало, все готовые процессы обслуживаются одинаково и время ожидания прямо пропорционально объему требуемых услуг.

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

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

Вывод можно сформулировать следующим образом: слишком малый квант приведет к частому переключению процессов и небольшой эффективности, но слишком большой квант может привести к медленному реагированию на короткие интерактивные запросы. Значение кванта около 20-50 мс часто является разумным компромиссом.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]