Linux SCHED_OTHER, SCHED_FIFO и SCHED_RR - отличия
Может кто-нибудь объяснить различия между SCHED_OTHER, SCHED_FIFO и SCHED_RR?
Спасибо
Ответ 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.