为什么Linux CFS调度器没有带来惊艳的碾压效果?( 五 )
4.3BSD的优先级公平调度是CPU滴答驱动的。
现在看Linux的CFS,CFS采用随时抢占制。每一个进程j均携带一个虚拟时钟VCj,每一个时钟滴答,当前进程k的VCk会重新计算,同时调度器选择VC最小的进程运行,计算方法非常简单:
可见, Linux的CFS简直就是4.3BSD进程调度的自驱无级变速版本!
如果你想了解CFS的精髓,上面的就是了。换成语言描述,CFS的精髓就是 “n个进程的系统,任意长的时间周期TT,每一个进程运行T/n的时间!”
当然,在现实和实现中,会有80%的代码处理20%的剩余问题,比如如何奖励睡眠太久的进程等等,但是这些都不是精髓。
综上,我们总结了:
现实世界很难碾压同级别的人或事。
大量的Linux服务器不需要照顾交互进程,CFS优势无法凸显。
大量的Android系统没有和O(1)同台竞技的机会。
大量的Android系统交互进程很难感知进程调度这件事。
推荐阅读
- 魔兽世界|魔兽TBC:为什么玩家期待跨区组队?降低组队难度,无需频繁换区
- 李儒|三国杀:为什么叫李儒时代的骄傲,他到底有什么好骄傲的?厉害吗
- 池子|“为什么优菈总是在让人始料未及的版本到来?我还没准备好呀!”
- fpx战队|为什么同样是S赛夺冠,FPX的热度,完全没法跟IG与EDG相比?
- 王者荣耀|王者荣耀为什么要出限定皮肤?看完你就明白了
- 手机游戏|CFHD:神秘组织为什么开发生化手雷呢?关键是为了赚更多钱
- 打野|王者荣耀:不管什么打野都出一件肉装,李白都出暴裂,为什么?
- 抖音|正在火热追我的富二代,在得知我生日后突然消失不见,到底为什么
- |为什么很多人都说剑圣JUGG是伪核,后期能力不行!
- steam|原神:常驻五星废弃率排名,为什么大家越来越在乎“强度”了