操作系統 --- 磁盤調度算法


多道環境下,進程併發運行隨機提出 I/O 請求,需要操作系統爲每個磁盤維護一個訪問請求隊列。如何選擇者就是磁盤調度算法 。磁盤調度算法考慮的就是使得平均尋道時間最短 。

例題:假定磁盤有200個磁道,當前有9個訪問者(進程)先後提出IO操作,需要訪問的磁道分別爲:55,58,39,18,90,160,150,38,184,又假定當前磁頭位置爲100#。磁頭正從外向裏運動。

1、先來先服務調度算法(FCFS)

按請求訪問者的先後順序
在這裏插入圖片描述優點:這個策略是公平的,每個請求都會得到處理
缺點:該算法本身出發點未考慮尋道優化,性能接近於隨機調度,因此性能很差。

2、最短尋找時間調度算法(SSTF)

選擇尋找時間最短的訪問者調度
策略:選擇使磁頭臂從當前位置開始移動距離最短的IO訪問者,即最短尋道時間的請求者,
問題:每次選擇距離最短者同時,忽略了可能由於不斷的有新的IO請求進程加入隊列中,且與當前磁頭位置較近,會使得原請求隊列中的距離遠的訪問者總得不到調度,產生"飢餓現象"。
在這裏插入圖片描述

3、電梯調度算法(SCAN)

從移動臂當前位置開始沿着臂的移動方向去選擇離當前移動臂最近的那個柱面的訪問者

磁道編號是從外到裏的,即由內到外磁道號越來越小。
從當前所在磁道號,從外向裏運動,再從裏向外運動,或反之。這樣就避免了飢餓現象,由於這種移臂調度規律頗似電梯的運動,因而稱爲電梯算法。

在這裏插入圖片描述

4、循環掃描算法(CSCAN)

爲了減少這種延遲,規定磁頭單向讀 爲了減少這種延遲,規定磁頭單向讀/寫運動 寫運動 (如只能由內向外),完成讀寫後 ,立即返到最小/大磁道號的位置 (構成循環 ),再進行掃描。即 CSCAN算法。
在這裏插入圖片描述

5、磁盤調度算法練習題

題目:
在這裏插入圖片描述答案:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章