磁盘调度算法

一次磁盘读写操作需要的时间

寻道时间

在读写数据前,将磁头移动到指定磁道所花的时间

1.启动磁头臂需要时间,耗时s

2.移动磁头需要时间,假设磁头匀速移动,没跨越一个磁道耗时m,总共需要跨越n条磁道

寻道时间=s+m*n

延迟时间

通过旋转磁盘,使磁头定位到目标扇区所需要的时间,设磁盘转速为r,则平均所需时间为Tr=(1/2)*(1/r)=1/2r

这个(1/r)就是转一圈需要的时间,找到目标扇区平均需要转半圈,因此再乘以1/2

传输时间

从磁盘独处或向磁盘写入数据所经历的时间,假设磁盘转速为r,此次读写的字节数为b,每个磁道上的字数为N,则传输时间

Tt=(1/r)*(b/N)=b/(rN)

磁盘调度算法

先来先服务

根据进程请求访问磁盘的先后顺序进行调度

最短寻找时间优先

SSTF算法会优先处理的磁道是与当前磁头最近的磁道,可以保证每次的寻道时间最短,但是并不难保证宗的寻道时间最短

(每次都找离当前最近的磁道)

优点:性能好,平均寻道时间短

缺点:可能产生饥饿现象

扫描算法(SCAN)

只有磁头移动到最外测磁道的时候才能往内移动,移动到最内侧磁道的时候才能往外移动,类似于电风扇摆头

优点:性能较好,平均寻道时间短,不会产生饥饿现象

缺点:只有到达最边上的磁道时才能改变磁头移动方向,事实上,处理了184号磁道的访问请求之后,就不需要再往右移动磁头了

scan算法对于哥哥位置的响应频率不平均

LOOK调度算法

如果磁头移动方向上已经没有了别的请求,就可以立即改变磁头移动方向

优点:比起scan算法来,不需要每次都移动到最外侧或者最内侧才改变磁头方向,使寻道时间进一步缩短

循环扫描算法(C-SCAN

规定只有磁头朝某个特定方向移动时才能处理磁道的访问请求,而返回的时候直接快速移动到起始端,而不处理任何请求

优点:比起scan算法,每个位置磁道的相应频率很平均

缺点:只有到最边上的磁道时才能改变方向 而且比起scan算法来,平均寻道时间更长

C-LOOK调度算法

如果磁头移动方向上已经没有了别的请求,就可以立即改变磁头移动方向,返回的时候直接返回到起始端,而不处理任何请求

优点:比起C-SCAN算法,不需要每次都移动到最外侧或者最内侧才改变磁头方向,进一步缩短寻道时间

posted @ 2025-10-09 16:13  是我,米老鼠  阅读(9)  评论(0)    收藏  举报