磁盘存储器管理OS9.ppt

时间:2014-06-06 05:39:56
【文件属性】:

文件名称:磁盘存储器管理OS9.ppt

文件大小:145KB

文件格式:PPT

更新时间:2014-06-06 05:39:56

操作系统课件

(1)进程“饥饿”现象 SSTF算法虽然获得较好的寻道性能,但它可能导致某些进程发生“饥饿”(Starvation)。因为只要不断有新进程到达,且其所要访问的磁通与磁头当前所在磁道的距离较近,这种新进程的I/O请求必被优先满足。对SSTF算法略加修改后所形成的SCAN算法,即可防防止老进程出现饥饿现象。 (2)SCAN算法 该算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。 例如,当磁头正在由里向外移动时,SCAN算法所选择的下个访问对象应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样由里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向,自外向里移动。这时,同样也是每次选择这样的进程来调度,即其要访问的磁道,在当前磁道之内,且距离最近者,这样,磁头又是逐步地向里移动,直至再无更里面一些的磁道要访问,从而避免了饥饿现象的出现。 这种算法中,磁头移动的规律颇似电梯的运行,故又常称为电梯调度算法。后页图C示出了按SCAN算法对9个进程进行调度及磁头移动的情况。 2、循环扫描CSCAN(Circular SCAN) SCAN算法既能获得较好的寻道性能,又能防止进程饥饿,故被广泛用于大、中、小型机和网络中的磁盘调度。但也存在这样的问题:当磁头刚从里向外移动过某一磁道时,恰有一进程请求访问此磁道,这时该进程必须等待,待磁头从里向外,然后再从外向里扫描完所有要访问的磁道后,才处理该进程的请求,致使该进程的请求被严重地推迟。为了减少这种延迟,CSCAN算法规定磁头单向移动。例如,只自里向外移动,当磁头移到最外的被访问磁道时,磁头立即返回到最里的欲访磁道,即将最小磁道号紧接着最大磁道号构成循环,进行扫描。采用循环扫描方式后,上述请求进程的请求延迟,将从原来的2 T减为T+smax。其中,T为由里向外或由外向里扫描完所有要访问的磁道所需的寻道时间,而smax是将磁头从最外面被访问的磁道直接移到最里边欲访问的磁道所需的寻道时间(或相反)。图D示出了CSCAN法对9个进程调度的次序及每次磁头移动的距离。 (2)FSCAN算法 FSCAN算法实质上是N步SCAN算法的简化。它只将磁盘请求访问队列分成两个子队列。—是当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。另一个队列则是在扫描期间,新出现的所有请求磁盘I/O进程的队列,把它们排人另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下—次扫描时处理。


网友评论