瞧进程调度

将固定的资源在所有使用者中分配,而不是为每一个使用者分配固定额度的资源。

说起进程调度,关注“谁先运行”,“一个进程运行多久”,基于此的调度算法没有扩展性,比如Linux的O(1)算法。

没有扩展性的原因是每个进程被分配了相对固定的时间片,该时间片基于优先级计算,p是优先级,时间片就是:

t s = 20 × ( 140 − p ) ts=20\times(140-p) ts=20×(140p)

进程越多,所有进程轮转一遍的时间越久。为了解决扩展性问题,需要诸如双斜率缩短调度周期,启发式防饥饿等把戏,算法不断被修补,越来越复杂冗长。

这类算法只是批处理的缩微版本,将批任务打散成小任务片,然后在时间轴上轮转这些小任务片。与批处理无大异。

颠倒一下,不再为每个进程分配固定的时间片,而是将固定的时间段分配给所有的进程,就是CFS算法了。

若固定时间片,每个进程连续两次运行间隔随进程数增加而增加,观感上就是越发卡顿,若固定时间段分配给所有进程,每个进程连续两次运行间隔便固定,每次运行的时间片随进程数增加而缩短,观感上就是平滑变慢。

卡顿和慢,你选哪一个?很多司机乘客都是宁可慢不想停的。

将固定的资源在所有使用者中分配,而不是为每一个使用者分配固定额度的资源。

还是那个颠倒技巧,后果则有大不同,万变不离其宗。

浙江温州皮鞋湿,下雨进水不会胖。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值