完全公平调度如何处理新流程

完全公平调度如何处理新流程

我目前正在尝试理解完全公平调度(CFS)并偶然发现了一些我无法理解的东西。我们举个例子:

  • 我有一个进程在后台运行(例如跟踪某些内容)。它的优先级为0。
  • 1 小时后,我开始具有相同优先级的第二个进程。

我的问题是第一个进程如何在秒初始化后获得执行的机会?假设第一个提到的进程min_vruntime当时不存在。我认为在这种情况下,vruntime第二个过程的 总是低于vruntime第一个过程的。由于两者具有相同的优先级,我认为进程 2 总是排在 RB 树中第一个进程的前面。

显然不能那样工作,不是吗?那么我错过了什么?

相关内容