Подтвердить что ты не робот

Linux SCHED_OTHER, SCHED_FIFO и SCHED_RR - отличия

Может кто-нибудь объяснить различия между SCHED_OTHER, SCHED_FIFO и SCHED_RR?

Спасибо

4b9b3361

Ответ 1

SCHED_FIFO и SCHED_RR являются так называемыми политиками реального времени. Они реализуют фиксированное приоритетное планирование в реальном времени, указанное стандартом POSIX. Задачи с этими политиками вытесняют каждую другую задачу, которая, таким образом, может легко впадать в голод (если они не освобождают CPU).

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

SCHED_OTHER - это общая политика планирования распределения времени с распределением времени, которая планирует задачу для определенного таймлиса в зависимости от других задач, выполняемых в системе.

Обновление: с Linux 3.14 существует дополнительная политика SCHED_DEADLINE. Эта политика реализует алгоритм Constant Bandwidth Server (CBS) в верхней части ранних сроков первого срока. Каждой задаче в соответствии с этой политикой назначается конечный срок, и выполняется самая ранняя задача. Лучшим ресурсом, описывающим этот алгоритм, является планирование сроков в ядре Linux.

Обновление 2: поскольку Linux 4.13, SCHED_DEADLINE заменил CBS алгоритмом Greedy Reclamation of Unused Bandwidth (GRUB).