磁盘调度算法
视频链接:https://mp.csdn.net/console/editor/html/106624128
一,一次磁盘读/写操作所需要的时间T
1,寻道时间T1:在读写数据之前,将磁头移动到指定位置的时间
- 启动磁头臂的时间S
- 移动磁头的时间,假设磁头匀速移动,每跨越一个磁道耗时m,总共需要跨越n条磁道。
- 寻道时间T1=S+m*n
2,延迟时间T2:通过旋转磁盘,使磁头定位到目标扇区的时间
- T2=0.5*r(设转盘转速为r)
3,传输时间T3:从磁盘读出或向磁盘写入数据所经历的时间,设磁盘转速为r,此次读写的字节数为b,每个磁道上的字节数为N,则有
- T3=(1/r)*(b/N)=b/(rN)
4,T=T1+T2+T3
二,磁盘调度算法
1,先来先服务(FCFS):按访问请求达到的先后顺序进行处理
2,最短寻找时间优先(SSTF):每次都优先响应距离磁头最近的磁道请求,提高效率,但可能导致饥饿现象
3,扫描算法(SCAN):只有磁头移动到最边缘的磁道时才可以改变磁头的移动方向,解决了SSTF中的饥饿问题,但对各
个位置磁道的响应频率不均。
4,循环扫描算法(C-SCAN):只有磁头朝某个方向移动时才会响应请求,移动到边缘时,立刻返回起点,返回途中不响应任何请求。
还没有评论,来说两句吧...