标签: linux linux-kernel kernel scheduling
linux内核的CFS调度程序如何在sched_latency_ns时间内安排所有进程。 是通过遍历红黑树还是在每次进程切换后重新平衡。
答案 0 :(得分:0)
从Wikipedia文章开始......
与旧版Linux 2.6内核中使用的先前O(1)调度程序相比,CFS调度程序实现不基于运行队列。相反,红黑树实现了未来任务执行的“时间轴”。此外,调度程序使用纳秒粒度计算,即分配单个进程的CPU份额的原子单位(从而使先前的时间片概念变得多余)。这种精确的知识也意味着不需要特定的启发式方法来确定流程的交互性,例如。[2]
答案 1 :(得分:0)
here详细描述了CFS以及代码段源代码。