轉自humeApz磁盤調度算法——FCFS、SSTF、SCAN、CSCAN
為了減少對文件的訪問時間,應采用一種最佳的磁盤調度算法,以使各進程對磁盤的平均訪問時間最少。由於在訪問磁盤時主要是尋道時間。因此,磁盤調度的目標是使磁盤的平均尋道時間最少。
如磁道請求隊列為55、58、39、18、90、160、150、38、184,從100號開始。
一.先來先服務(FCFS)
1.方法
根據進程請求訪問磁盤的先后順序進行調度。
2.優點
公平、簡單、每個進程請求都能依次得到處理,不會出現某一進程的請求長期得不到滿足。
3.缺點
平均尋道時間有點長,適用於磁盤I/O進程數目較少的場合。
4.舉例
如磁道請求隊列為55、58、39、18、90、160、150、38、184.
二.最短尋道時間優先(SSTF)
1.方法
其要求訪問的磁道與當前磁頭所在的磁道距離最近。
2.缺點
優先級低的進程會發生“飢餓”現象。因為新進程請求到達,且其所要訪問的磁道與磁頭當前所在的磁道距離較近,必先優先滿足。
3.舉例
如磁道請求隊列為55、58、39、18、90、160、150、38、184.
三.掃描算法(電梯調度算法)(SCAN)
1.方法
1.首先自里向外訪問,下一個對象是其欲訪問的磁道既在當前磁道之外,又是距離最近的;
2.直至無更外的磁道需要訪問時,才將磁臂換向為自外向里移動;
3.下一個訪問的磁道在當前位置內為距離最近者;直至再無更里面的磁道要訪問。
2.優點
不僅考慮到欲訪問的磁道與當前磁道間的距離,更優先考慮了磁頭當前的移動方向;避免了出現“飢餓”現象。被廣泛用於大、中、小型機器和網絡中的磁盤調度。
3.缺點
當磁道剛從里向外移動而越過了某一磁道時,剛好一進程請求訪問此磁道,這時此進程會等待,待磁頭繼續從里向外,然后從外向里掃描完處於外面的所有要訪問的磁道后,才處理此進程,致使該進程的請求被大大推遲。
4.舉例
如磁道請求隊列為55、58、39、18、90、160、150、38、184.
四.循環掃描算法(CSCAN)
1.方法
1.首先自里向外訪問,當磁頭移到最外的磁道並訪問后,磁頭返回到最里的欲訪問磁道,即將最小磁道號緊接着最大磁道號構成循環,繼續循環掃描
2.直至無更外的磁道需要訪問時,才將磁臂換向為自外向里移動;
3.下一個訪問的磁道在當前位置內為距離最近者;直至再無更里面的磁道要訪問。
2.優點
彌補掃描算法的不足。
3.舉例
如磁道請求隊列為55、58、39、18、90、160、150、38、184.