一 磁盘访问时间:
*磁盘访问时间=寻道时间+旋转延迟时间+数据传输时间。主要是寻道时间。
二 磁盘调度策略:
(1)先来先服务(FCFS):
*优点:公平、简单,且每个进程的请求都得到依次的处理,不会出现某一进程的请求长期得不到满足。
*缺点:未对寻道进行优化,使平均寻到时间可能较长。
(2)最短寻道时间优先(SSTF):
*特点:要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。
*缺点:不能保证平均寻道时间最短;可能导致某个进程发生“饥饿”现象。
(3)扫描算法(SCAN)(又称电梯调度算法):
*特点:不仅考虑预访问的磁道距离当前磁道间的距离,更优先考虑当前磁头的移动方向。(直至当前方向再无磁盘需要访问时,才将磁臂换方向)
*优点:既获得较好性能又避免了“饥饿”现象,广泛应用于大中小型机器和网络中的磁盘调度。
*问题:当磁头刚从里向外移动而越过某一个磁道时,恰好有一个进程请求访问此磁道,这时该进程必须等待,待磁头继续从里向外,然后再从外向里扫描完所有需要访问的磁道后,才处理该请求。
(4)循环扫描算法(CSCAN):
*特点:为了避免SCAN算法的问题,CSCAN规定磁头单向移动,如只是自里向外,当磁头移到最外的磁道并访问后,磁头立即返回到最里的欲访问的磁道。
(5)NstepSCAN算法:
*“磁道粘着”现象:在SSTF、SCAN和CSCAN中,都可能出现磁臂停留在某处不动的情况。
*特点:将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次来处理这些子队列,处理每一个子队列又是按SCAN算法。正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列。
(6)FSCAN算法:
*FSCAN实质上是N步SCAN算法的简化,即FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程,放入到另一个等待处理的请求队列。