Может ли в ядре Linux одновременно работать более двух политик планирования? Могут ли FIFO и Round Robin работать на одной машине?
Политики планирования в ядре Linux
Ответы (2)
Да, Linux поддерживает не менее 4 различных методов планирования задач: SCHED_BATCH, SCHED_FAIR, SCHED_FIFO и SCHED_RR.
Независимо от метода планирования все задачи также имеют фиксированный жесткий приоритет (который равен 0 для пакетного и справедливого и от 1 до 99 для методов планирования в реальном времени FIFO и RR). Задачи в первую очередь выбираются по приоритету — побеждает самый высокий приоритет.
Однако при наличии нескольких задач, доступных для выполнения с одинаковым приоритетом, именно здесь вступает в действие метод планирования: справедливая задача будет выполняться только для своего назначенного веса (с весом, полученным из мягкого приоритета, называемого хороший уровень задачи) доля процессорного времени по отношению к другим справедливым задачам, задача FIFO будет выполняться в течение фиксированного интервала времени, прежде чем уступить место другой задаче (с тем же приоритетом - задачи с более высоким приоритетом всегда побеждают), а задачи RR будут выполняться до нее. блокирует, игнорируя другие задачи с таким же приоритетом.
Обратите внимание, что то, что я написал выше, является точным, но не полным, потому что оно не принимает во внимание функции предварительного резервирования ЦП, но дает подробную информацию о различных методах планирования, взаимодействующих друг с другом.
да !! теперь у нас есть разные политики планирования на разных этапах в ОС. Циклический перебор выполняется, как правило, перед выполнением ядра ... выполняется fifo, на этапе запуска нового предстоящего процесса ... !!!