Политики планирования в ядре Linux

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


person Sharat Chandra    schedule 19.03.2012    source источник


Ответы (2)


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

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

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

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

person gby    schedule 20.03.2012
comment
Итак, существуют ли отдельные очереди выполнения и очереди ожидания для каждой политики планирования? - person Sharat Chandra; 20.03.2012
comment
Существуют разные очереди выполнения для разных семейств политик планирования: очередь выполнения RT (RR и FIFO) и очередь справедливого выполнения (хороший уровень и пакет). Насколько я знаю, очереди ожидания относятся к объекту, который вы ожидаете, и не связаны с политикой планирования. - person gby; 21.03.2012
comment
Да.. Очередь ожидания на устройство - person Sharat Chandra; 21.03.2012
comment
Почти правильно. RR имеет фиксированный квант времени, и FIFO будет работать до выхода или блокировки. - person ola1olsson; 11.01.2013

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

person RKT    schedule 19.03.2012
comment
@chandra: вы можете взглянуть на среднесрочные и долгосрочные планировщики ... все они живут в одном ядре. - person RKT; 19.03.2012