调度算法2

---调度算法-----
本来管家一直是按先来先服务这个策略来调度CPU下一次要做什么事情的,
但是聪明的管家发现其实还有可以优化的地方。让我们一起来梳理一下
(1)先来先服务算法
这是管家最初采取的算法,特别简单,但是管家也发现了他的缺点
缺点1就是,如果事情1:看电影(花2h)先来了,事情2:打印文件(5ming)后来
那么事情2就至少要等两个小时,这太不合理了,每件事情的平均等待时间都被拉长了
而且在等待的两个小时内,打印机也是闲着没用的,利用率很低

  

 

(2)短进程优先算法
管家吃了先来先服务算法的亏,接下来像照顾一下需要时间少的事情
所以采用了短进程优先的算法,谁用时少,谁先安排CPU完成
然后又做了改进,如果某件事情1剩余的执行时间比事情2剩余的执行时间多
那么就先做事情2,这个时短剩余时间优先算法

缺点:可能导致连续的饥饿
如果事情1234567里面,事情1要两小时,其他都只需要5分钟,那么事情1就会一直等着
这个长进程就会一直没有人管他

缺点2,需要预知未来,因为只是估计这个事情要花多久
估计方法1:问用户  估计方法2:用过去看未来

(3)最高响应比优先算法
因为短进程优先算法会导致长进程被忽略,对长进程的服务态度差
所以管家又做了调整,这次他想了一个公式,同时考虑等待的时间和执行的时间,
计算得到一个响应比R值,用这个来判断该谁执行了
这个非常好,即有利于短作业,又兼顾了长作业

 

 

posted @ 2022-05-11 20:26  今天也是开心的一天呀  阅读(24)  评论(0)    收藏  举报