Алгоритм циклического планирования с примером

Что такое циклическое планирование?

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

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

Характеристики циклического планирования

Вот важные характеристики циклического планирования:

  • Раунд-робин — это упреждающий алгоритм.
  • Процессор переключается на следующий процесс через фиксированный интервал времени, который называется квантом времени/квантом времени.
  • Вытесняемый процесс добавляется в конец очереди.
  • Раунд-робин — это гибридная модель, работающая по часовому принципу.
  • Временной интервал должен быть минимальным, который отводится под конкретную задачу, которую необходимо обработать. Однако ОС может отличаться от ОС.
  • Это алгоритм реального времени, который реагирует на событие в течение определенного периода времени.
  • Круговой алгоритм — один из старейших, справедливых и простых алгоритмов.
  • Широко используемый метод планирования в традиционных ОС.

Пример циклического планирования

Рассмотрим следующие три процесса

Очередь процесса Время взрыва
P1 4
P2 3
P3 5

Круговое планирование

Шаг 1) Выполнение начинается с процесса P1, время пакета которого равно 4. Здесь каждый процесс выполняется в течение 2 секунд. P2 и P3 все еще находятся в очереди ожидания.

Круговое планирование

Шаг 2) В момент времени =2 P1 добавляется в конец очереди, и P2 начинает выполнение.

Круговое планирование


Шаг 3) В time=4 P2 вытесняется и добавляется в конец очереди. P3 начинает выполнение.

Круговое планирование

Шаг 4) В time=6 P3 вытесняется и добавляется в конец очереди. P1 начинает выполнение.

Круговое планирование

Шаг 5) В time=8 время пакета P1 равно 4. Выполнение завершено. P2 начинает выполнение

Круговое планирование

Шаг 6) P2 имеет время пакета 3. Он уже выполнен в течение 2 интервалов. В момент времени = 9 P2 завершает выполнение. Затем P3 начинает выполнение до его завершения.

Круговое планирование

Шаг 7) Давайте рассчитаем среднее время ожидания для приведенного выше примера.

Wait time 
P1= 0+ 4= 4
P2= 2+4= 6
P3= 4+3= 7

Преимущество циклического планирования

Вот плюсы/преимущества метода циклического планирования:

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

Недостатки циклического планирования

Вот недостатки/минусы использования циклического планирования:

  • Если время нарезки ОС мало, производительность процессора будет снижена.
  • Этот метод тратит больше времени на переключение контекста.
  • Его производительность во многом зависит от кванта времени.
  • Для процессов невозможно установить приоритеты.
  • При циклическом планировании не уделяется особого внимания более важным задачам.
  • Ухудшается понимание
  • Меньший квант времени приводит к увеличению накладных расходов на переключение контекста в системе.
  • Нахождение правильного кванта времени в этой системе является довольно сложной задачей.

Задержка в худшем случае

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

  • dt = Обозначает время обнаружения, когда задача внесена в список
  • st = Обозначает время переключения с одной задачи на другую
  • et = Обозначает время выполнения задачи

Формула:

Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti  + eti) N} + tISR	
t,SR = sum of all execution times

Резюме

  • Название этого алгоритма происходит от принципа циклического обслуживания, при котором каждый человек по очереди получает равную долю чего-либо.
  • Циклический перебор — один из старейших, наиболее справедливых и простых алгоритмов и широко используемых методов планирования в традиционных системах. OS.
  • Раунд-робин — это упреждающий алгоритм.
  • Самым большим преимуществом метода циклического планирования является то, что если вы знаете общее количество процессов в очереди выполнения, вы также можете предположить время ответа для того же процесса в наихудшем случае.
  • Этот метод тратит больше времени на переключение контекста.
  • Задержка в худшем случае — это термин, используемый для обозначения максимального времени, необходимого для выполнения всех задач.