Cfs调度算法
Cfs调度算法的核心思想是虚拟运行时间,算法认为,所有进程的虚拟运行时间相等时,才对所有的进程公平,这时说明cpu时间时按照进程的权重来平均分配的。所以每次都从调度树中选择一个虚拟运行时间最小的进程来运行。
第二: 进程切换的时机是:当前运行时间和理想运行时间比较,如果大于,说明进程占用了过多的时间,需要惩罚,这时就选择其他的进程来运行.
如何选择下一个运行的进程?
每次时钟间隔到来时,都会修正当前进程的运行时间,然后调整他在调度树中的位置,
从调度树中选择下一个要调度的进程。
Cfq_rq维护的是就绪队列,不维护等待队列。当前运行的进程也不在cfq_rq中。
选择下一个进程运行的时机是什么?
进程主动放弃或者时间中断到达。