operating-system之Linux 内核中的调度策略
Linux Kernel 中可以有两个以上的调度策略同时工作吗?
FIFO 和 Round Robin 可以在同一台机器上工作吗?
请您参考如下方法:
是的,Linux 支持不少于 4 种不同的任务调度方法:SCHED_BATCH、SCHED_FAIR、SCHED_FIFO 和 SCHED_RR。
无论调度方法如何,所有任务也有一个固定的硬优先级(批处理和公平为 0,FIFO 和 RR 的 RT 调度方法为 1-99)。任务首先按优先级挑选 - 最高优先级获胜。
但是,由于多个任务可用于以相同的优先级运行,这就是调度方法发挥作用的地方:公平任务将仅运行其分配的加权(权重来自称为任务良好级别的软优先级)份额关于其他公平任务的 CPU 时间,一个 FIFO 任务将运行一个固定的时间片,然后让给另一个任务(具有相同优先级 - 更高优先级的任务总是获胜)并且 RR 任务将运行直到它阻塞而忽略其他具有相同任务的任务优先事项。
请注意,我上面写的是准确但不完整的,因为它没有考虑提前 CPU 预留功能,但它给出了不同调度方法相互交互的详细信息。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。