至今不敢写一篇关于cfs的文章

  linux 内核在 2.6.23 种引入了一种完全公平的进程调度方式,就是 cfs 调度算法,该算法比起原来的 O(1) 算法来说确实简便了不少,但是却高效了很多,合理了很多。

       我研究这个 cfs 算法已经快一年了,但是至今也不敢写一篇关于它的文章,因为它太神圣了,太美妙了,像我这样的文笔,我这样糟糕的表达方式能做的仅仅是亵 cfs 算法。 cfs 没有用哪怕一种额外的补充算法,也没有列举很多额外的约定,只是提供了一条,仅仅一条简单的规则,引入了一个概念,虚拟时钟的概念, 就可以把 cfs 表述的如此美妙,简直令人叫绝, cfs 中的无极变速思想更是让人拍案,它彻底抛弃了时间片的概念,正是将调度决策引入一种更加灵活的方式, 实际上时间片是不合理的,无论何时保证公平才是合理的,有人会问,按照权值分配不同的时间片不也是很合理吗?实际上每时每刻都让每个进程感到公平你不觉得 更加合理吗?时间片分配中,在当前时间片没有完成之前,除了抢占是没有办法执行别的进程的,即使突然来了一位猛士,然而在 cfs 中,系统并不偏向在任何时 期的任何进程,即使该进程的时间片还没有用完。 cfs 保证的是每时每刻的公平, cfs 依据的是进程的执行时间,利用的是补偿原理, cfs 让进程先超前运 行,然后补偿别的进程,这样很合理。另外 cfs 不用任何启发算法,只是一个虚拟时钟就够了,因为当进程睡眠的时候,其虚拟时钟就不走了,这样当然落后于别 的进程的虚拟时钟,理应得到补偿。

      cfs 真是太猛了,我即便再不敢亵渎它,却还是写下了这篇拙文。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值