一次磁盘读写操作需要的时间
寻道时间
在读写数据前,将磁头移动到指定磁道所花的时间
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算法,不需要每次都移动到最外侧或者最内侧才改变磁头方向,进一步缩短寻道时间