Планирование политик в ядре Linux - PullRequest
3 голосов
/ 19 марта 2012

Может ли в ядре Linux одновременно работать более двух политик планирования? Могут ли FIFO и Round Robin работать на одной машине?

Ответы [ 2 ]

9 голосов
/ 20 марта 2012

Да, Linux поддерживает не менее 4 различных методов планирования для задач: SCHED_BATCH, SCHED_FAIR, SCHED_FIFO и SCHED_RR.

Независимо от метода планирования все задачи также имеют фиксированный жесткий приоритет (который равен 0 для пакетного и справедливого и от 1 до 99 для методов планирования RT FIFO и RR). Задачи выбираются в первую очередь по приоритету - побеждает наивысший приоритет.

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

Обратите внимание, что то, что я написал выше, является точным, но не полным, поскольку оно не учитывает предварительные функции резервирования ЦП, но дает подробные сведения о различных методах планирования, взаимодействующих друг с другом.

1 голос
/ 19 марта 2012

да !!В наши дни у нас разные политики планирования на разных этапах в ОС. Циклическое циклирование выполняется, как правило, перед выполнением ядра ... Выполнение fifo выполняется на начальной стадии нового процесса ... !!!

...