任务调度器是任何操作系统的关键部分,Linux 在此领域中不断发展和创新。在内核 2.6.23 中,推出了Completely Fair Scheduler(CFS)。这款调度器不依赖于运行队列而是使用红黑树 (red-black tree) 实现任务管理...CFS背后的主要想法是维护为任务提供处理器时间方面的平衡(公平性)。这意味着应给进程分配相当数量的处理器。分给某个任务的时间失去平衡时(意味着一个或多个任务相对于其他任务而言未被给予相当数量的时间),应给失去平衡的任务分配时间,让其执行。要实现平衡,CFS 在叫做虚拟运行时 的地方维持提供给某个任务的时间量。任务的虚拟运行时越小, 意味着任务被允许访问服务器的时间越短 其对处理器的需求越高。CFS 还包含睡眠公平概念以便确保那些目前没有运行的任务(例如,等待 I/O)在其最终需要时获得相当份额的处理器。
【编辑推荐】