Планирование круглого хода: разрешить перечислять процесс несколько раз?

cs.stackexchange https://cs.stackexchange.com/questions/226

Вопрос

В плановом планировщике с круглым робином добавление процесса несколько раз в список процессов-это дешевый способ дать ему более высокий приоритет.

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

(Из упражнения 2.16 в Эндрю Таненбауме Операционные системы: проектирование и реализация 1 -е изд.)

Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top