? ? ? ? ? ? ?
1、磁盤調度介紹
磁盤可以被多個進程共享的設備,如果有多個進程請求訪問磁盤時,為了保證信息的安全,系統的每一時刻只允許一個進程進入磁盤進行I/O操作,別的進程需要等待。
磁盤需要采用一種適當的算法,使每個進程對磁盤的平均尋道時間最小。磁盤調度的最終目標是使磁盤的平均尋道時間最少。
2、磁盤調度分類
2.1、磁盤驅動調度
常用的磁盤驅動調度算法有
1、先來先服務 FCFS
根據進程請求的先后順序進行調度。
優點:公平、算法簡單,每個進程的請求都可以得到滿足,不會出現某進程的長期請求得不到處理的情況。
缺點:沒有對尋道算法進行優化,平均尋道時間可能比較長。
2、最短尋道時間有限 SSTF
算法會選擇要求訪問的磁盤與當前磁頭所在的磁道距離最近,這樣每次的尋道時間最短,但不能保證平均尋道時間最短。
3、掃描算法 SCAN?
優先考慮磁頭當前的移動方向,然后是訪問的磁道和當前磁道的距離。又稱為電梯調度算法。
4、單向掃描算法 CSCAN
算法 規定磁頭只能做單向移動。
2、旋轉調度
當移動臂定位后,有多個進程等待訪問該柱面時,如果決定進程的訪問順序,這個需要旋轉調度算法來處理。最合理的方式是選擇延遲時間最短的進程對磁盤的扇區進行訪問。
如果有好幾個等待進程請求訪問磁盤上的信息時,旋轉調度要考慮下面的情況:
1、進程請求訪問的是同一磁道上不同編號的扇區。
2、進程請求訪問的是不同磁道上不同編號的扇區。
3、進程請求訪問的是不同磁道上相同編號的扇區。
針對1、2旋轉調度總是讓首先達到讀/寫磁盤位置下的扇區先進行傳送操作;針對3 旋轉調度可以任意選擇一個讀/寫磁頭位置下的扇區進行傳送操作。