SCHED_FIFO和SCHED_RR是所谓的"实时"策略.它们实现POSIX标准指定的固定优先级实时调度.具有这些策略的任务优先于其他任务,因此很容易陷入饥饿状态(如果它们不释放CPU).
SCHED_FIFO和SCHED_RR的区别在于,在具有相同优先级的任务中,SCHED_RR执行具有特定时间片的循环;相反,SCHED_FIFO需要任务显式地生成处理器.
SCHED_OTHER是一种常见的循环分时调度策略,它根据系统中运行的其他任务为特定时间段调度任务.
Update:自Linux3.14以来,有一个额外的策略称为SCHED_DEADLINE.该策略在Earliest Deadline First个队列上实现恒定带宽服务器(CBS)算法.此策略下的每个任务都分配了一个截止日期,并执行最早的截止日期任务.描述该算法的最佳资源是Deadline scheduling in the Linux kernel.
Update 2:自Linux 4.13以来,SCHED_DEADLINE已经用Greedy Reclamation of Unused Bandwidth (GRUB) algorithm取代了CBS.