Алгоритм циклического планирования с примером
Что такое циклическое планирование?
Название этого алгоритма происходит от принципа циклического обслуживания, при котором каждый человек по очереди получает равную долю чего-либо. Это самый старый и простой алгоритм планирования, который в основном используется для многозадачности.
При циклическом планировании каждая готовая задача выполняется по очереди только в циклической очереди в течение ограниченного интервала времени. Этот алгоритм также обеспечивает выполнение процессов без голодания.
Характеристики циклического планирования
Вот важные характеристики циклического планирования:
- Раунд-робин — это упреждающий алгоритм.
- Процессор переключается на следующий процесс через фиксированный интервал времени, который называется квантом времени/квантом времени.
- Вытесняемый процесс добавляется в конец очереди.
- Раунд-робин — это гибридная модель, работающая по часовому принципу.
- Временной интервал должен быть минимальным, который отводится под конкретную задачу, которую необходимо обработать. Однако ОС может отличаться от ОС.
- Это алгоритм реального времени, который реагирует на событие в течение определенного периода времени.
- Круговой алгоритм — один из старейших, справедливых и простых алгоритмов.
- Широко используемый метод планирования в традиционных ОС.
Пример циклического планирования
Рассмотрим следующие три процесса
Очередь процесса | Время взрыва |
---|---|
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.
- Раунд-робин — это упреждающий алгоритм.
- Самым большим преимуществом метода циклического планирования является то, что если вы знаете общее количество процессов в очереди выполнения, вы также можете предположить время ответа для того же процесса в наихудшем случае.
- Этот метод тратит больше времени на переключение контекста.
- Задержка в худшем случае — это термин, используемый для обозначения максимального времени, необходимого для выполнения всех задач.