0
点赞
收藏
分享

微信扫一扫

那些年我们见过的调度策略

斗米 2022-04-29 阅读 74
linuxwindows

作用

响应和吞吐量的妥协,这种相悖的思想往往在不同地方见着

OS

先来先服务

公平队列

短作业优先

最少完成时间作业优先

最短完成作业优先

抢占版最少完成时间作业优先,比如忽然进来一个任务,预计时间更短于目前任务所需时间,直接抢占CPU

高响应比

优先级算法,权重为1+等待时间/服务时间,可见服务时间越长,就需要等越久,才能有高优先度

轮询时间片

轮流分配相同大小时间片,先完成或时间到重新等待CPU

多级反馈队列

重中之重,现代OS主流算法
分为多条队列,每条内部使用轮询,越上面时间片越小但优先级越高,优先级提高了短作业响应,长时间片提高了长作业吞吐量
一开始都位于最上级,如果规定时间没有完成,会放到下面队列
如果为了IO提前释放时间片,那么会暂时保留优先级,但会保持计时,如果时间总和超过规定,也会下放,这是为了防止程序在时间片结束前恶意进行IO而一直处于最高优先级
过一段时间会全部重新放回最高优先级,这是因为任务不是固定密集类型的,有可能这段时间是CPU密集,而后来又是IO密集了,这样会导致任务得不到应有待遇,除此之外,这也可以缓解饥饿。

负载均衡

随机

随机选择

顺序

类似先来先服务

hash

哈希计算

举报

相关推荐

0 条评论