磁盘调度算法


一次磁盘读写需要的时间,寻道时间,延迟时间,传输时间.

一:寻道时间Ts:在读写数据之前,将磁头移动到指定磁道所需要的时间。
分为两步:
①启动磁头臂,花费时间s;
②移动磁头也花费时间。假设磁头匀速移动,没跨越一个磁道花费m,总共需要跨越n条磁道,则花费时间为m*n;
所以寻道时间Ts = s + m * n;

二:延迟时间Tr:通过旋转磁盘,使磁头定位到目标扇区所需要的时间。设磁盘转速为r(转/秒),那么1/r就是(秒/转)。即r为一秒多少转,1/r为一转多少秒.
所以平均所需的延迟时间为Tr = (1/2) * (1/r) = 1 / (2r);

三:传输时间Tt:从磁盘读取或者写入数据所经历的时间,磁盘转速为r,此次读写字节数为b,每个磁道上字节数为N.
所以传输时间Tt = (b / N) * (1 / r) = b / (Nr),即b个字节数据需要b/N的磁道,在乘以一转多少秒。

所以平均存取时间Ta = Ts + 1/2r + b / (Nr)
可以观察到,延迟时间和传输时间都和转速相关,且为线性相关,因为操作系统无法优化延迟时间和传输时间。
但是操作系统可以优化寻道时间,不同的磁盘调度算法会有不同的寻道时间。

磁盘调度算法

先来先服务

按照进程请求访问磁盘的先后顺序进行调度。
在这里插入图片描述
这个就很好理解了,根据进程先后请求磁道的顺序来访问磁道,如果比较集中的话,那么寻道就在集中那些磁道,性能还好,但是如果请求的磁道1,500,2,501,3,502这样顺序的话,它的性能就很差,寻到时间也比较长。

最短寻找时间优化

优先处理与磁头最近的磁道这里是引用
可以看出他的性能相比于先来先服务算法的话性能还是比较好的,但是它的缺点就是如果有源源不断的磁头旁边的磁道到来的话,可能会一直左右徘徊,那么请求的边缘磁道有可能一直访问不到,则会导致进程饥饿

扫描算法

在最短时间优先算法的基础上,不让他来回的进行徘徊在一个区间,而是只要到最边上的磁道的时候,才能向内移动,反之也是。电梯算法很形象。这个磁头很“犟”,属于不撞南墙不回头的人
在这里插入图片描述
可以看出来地电梯算法的性能也还不错,也不会导致饥饿,但是它的缺点就是只有到达最边上的磁道才能改变磁头的方向,犟的像头驴,如果请求的磁道分别是 4,5,6,7,8,开始磁头在6磁道这个位置,并且磁道此时正在往大方向磁道移动,那么当到达8的时候,他就要为4到达4号磁道,但是他还要到达边缘磁道,才能向内移动,所以在应对访问的磁道都是中间磁道的话,那么这个算法效率就不是很高了。
所以应该优化
①他到达访问磁道的最右边磁道就不要继续向右移动了
②对各个位置磁道的响应频率不均,对于距离边缘磁道近的磁道,磁道可以很快的得到响应,如果是远的磁道要是想再次得到响应的话,要等一段时间。

Look调度算法

不需要在到达边缘磁道才能改变磁头方向了,如果在磁头移动方向上已经没有别的磁道请求了,就可以立即改变磁头方向。
在这里插入图片描述
look算法就解决了电梯算法的第一个问题,使寻道时间进一步缩短了。
但是他还有第二个问题,就是对各个磁道的响应频率不均匀。

循环扫描算法

原来的扫描算法时,到了边缘磁道后,从边缘磁道掉头,一个个处理磁道请求,但是这样就会造成响应磁道的频率很不均,所以这次我们让磁头到达边缘磁道后,直接移动到最里测磁道。
在这里插入图片描述
这样刚刚响应完的接近边缘磁道的磁道不会很快得到响应,距离边缘磁道远的也不会很慢的得到响应。
解决了磁道响应不均的问题,但是平均寻道时间更长了,因为每次到达边缘磁道都会从边缘磁道到达最内侧测到。

C-LOOK

刚刚我们的循环扫描算法的缺点是,每次都要到达最边缘磁道,而且返回的时候还要直接到达最内侧磁道,起始大可不必,如果磁头移动的方向已经没有磁道访问请求了,就立即让他返回,返回的时候也不需要返回道最内侧磁道,只需要返回到最小的磁道访问请求位置即可。
在这里插入图片描述
这样我们就解决了平均寻道时间长的问题。这个C-LOOK是在扫描算法的基础上综合了循环扫描算法(C-SCAN)和LOOK算法的优点而形成的,看名字也知道啦!

不战斗就无法生存,肝!

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值