Linux CFS如何选择下一个进程

时间:2015-02-04 02:21:52

标签: linux linux-kernel scheduled-tasks

我读过这本书

http://www.amazon.com/Professional-Kernel-Architecture-Wolfgang-Mauerer/dp/0470343435

现在我研究调度程序,linux内核现在正在使用CFS进行正常处理

但是这本书有时会说,调度程序会选择最长的等待时间

在runqueue中运行以进行运行,有时候说调度程序将选择vruntime

在runqueue中最小

哪个是正确的?

1 个答案:

答案 0 :(得分:0)

两者都是正确的 - 两个人用不同的词语说同样的话。

要获取下一个进程,调度程序将选择具有最小vruntime的任务。即,运行最少的过程。

进程仅在运行时累积vruntime。因此,通过选择具有最小vruntime的任务,我们选择运行最少的任务。 另一方面,一个等待很多的过程 - 不会累积vruntime。因此它的运行时间很短。如果它的等待时间最长 - 它的运行时间将是最低的 - 它将被选中以便下一次运行。

说同样的事情的方式不同。