作業系統中磁碟排程演算法詳解

2021-10-06 12:10:53 字數 1936 閱讀 4878

磁碟排程演算法

(1)先來先服務

(2)最短尋道時間優先

(3)電梯演算法

(4)單向掃瞄排程演算法

(1) 磁碟排程

當多個訪盤請求在等待時,採用一定的策略,對這些請求的服務順序調整安排,旨在降低平均磁碟服務時

間,達到公平、高效。

公平:乙個i/0請求在有限時間內滿足

高效:減少裝置機械運動所帶來的時間浪費

(2)磁碟排程考慮的問題:

一次訪盤時間 =尋道時間+旋轉延遲時間+訪問時間

-減少尋道時間

-減少延遲時間

(3)磁碟排程演算法

先來先服務:

:按訪問請求到達的先後次序服務

優點:簡單,公平;

缺點:效率不高,相臨兩次請求可能會造成最內到

最外的柱面尋道,使磁頭反覆移動,增加了服務時間,

對機械也不利。

假設磁碟訪問序列:

假設磁碟訪問序列: 98,183, 37, 122, 14,124, 65,67

讀寫頭起始位置: 53

訪問順序:

(53),98, 183, 37, 122,14, 124,65, 67

安排磁頭服務序列

計算磁頭移動總距離(道數)

最短尋道時間優先:

優先選擇距當前磁頭最近的訪

問請求進行服務,主要考慮尋道優先.

優點:改善了磁碟平均服務時間;

缺點:造成某些訪問請求長期等待得不到服務

假設磁碟訪問序列: 98, 183, 37, 122, 14, 124,65, 67

讀寫頭起始位置: 53

訪問順序: (53) ,65, 67,37, 14, 98, 122,124,183

電梯演算法:

克服了最短尋道優先的缺點,既考慮了距離,同時又考慮了方向。

具體做法:

-當裝置無訪問請求時,磁頭不動;當有訪問請求時,

磁頭按乙個方向移動,在移動過程中對遇到的訪問請求

進行服務,然後判斷該方向上是否還有訪問請求,如果

有則繼續掃瞄;否則改變移動方向,並為經過的訪問請

求服務,如此反覆

假設磁碟訪問序列: 98, 183, 37, 122,14,124,65, 67

讀寫頭起始位置: 53

訪問順序(向大號移動) :

(53) , 65, 67, 98, 122, 124,183,37, 14

總道數: 299

訪問順序(向小號移動) :

(53) ,37, 14, 65,67, 98,122, 124, 183

總道數:208

單向掃瞄排程演算法:

總是從0號磁軌開始向里掃瞄

按照各自所要訪問的磁軌位置的次序去選擇訪問者

移動臂到達最後個乙個磁軌後,立即帶動讀寫磁頭

快速返回到0號磁軌

返回時不為任何的等待訪問者服務

返回後可再次進行掃瞄

假設磁碟訪問序列: 98, 183, 37, 122, 14,124, 65, 67

讀寫頭起始位置: 53

訪問順序: (53) ,65, 67, 98,122, 124, 183,(0) ,14, 37

作業系統磁碟排程演算法

裝置的動態分配演算法與程序排程相似,也是基於一定的分配策略的。常用的分配策略有先請求先分配 優先順序高者先分配等策略。在多道程式系統中,低效率通常是由於磁碟類旋轉裝置使用不當造成的。作業系統中,對磁碟的訪問要求來自多方面,常常需要排隊。這時,對眾多的訪問要求按一定的次序響應,會直接影響磁碟的工作效率...

作業系統 磁碟排程演算法

假定當前磁頭出在第100到,等待服務的程序有8個,它們請求的磁碟先後順序是90 70 159 21 1 15 120 145。採用最短尋道時間優先 掃瞄演算法對其排程,填好以下表?從100號磁軌開始,向磁軌號增加方向訪問 被訪問的下乙個磁軌號 移動距離 磁軌數 總共所需尋道長度 平均尋道長度 答 最...

作業系統磁碟排程演算法

建立乙個檔案,並把它命名為cidao.txt,在其中寫入18 5 23 8 16 5,並儲存 如下 注意,該檔案的路徑需要用雙反斜槓表示 include stdio.h include stdlib.h include iostream.h define maxsize 100 先來先服務排程演算法...