基於掃瞄的磁碟排程演算法

2021-10-08 11:46:46 字數 700 閱讀 7214

當磁頭正在由里向外移動時,scan演算法所考慮的下乙個訪問物件應該是其欲訪問的磁軌既在當前磁軌之外,又是距離最近的。直到再無更外的磁軌需要訪問時,才將磁臂更換為自外向裡運動。

掃瞄演算法存在這樣的問題:當磁頭剛從裡向外移動而越過了某條磁軌時,恰好又有一程序請求訪問此磁軌,這時,該程序必須等待,等待磁頭從裡向外,然後再從外向裡掃瞄完處於外面的所有要訪問的磁軌後,才處理該程序的請求,致使該程序的請求被推遲。

為了減少這種延遲,cscan演算法規定磁頭單向移動,例如,只是自里向外地移動,當磁頭移動到最外層的磁軌並訪問後,磁頭立即返回到最裡的欲訪問的磁軌,即將最小磁軌號緊接著最大磁軌號構成迴圈,進行迴圈掃瞄。

在最短尋道時間優先(sstf),掃瞄演算法(scan),迴圈掃瞄演算法(cscan)中,都可能出現磁臂停留在某處不動的情況,例如,有乙個或幾個程序對某一磁軌有較高的訪問頻率,這些程序反覆請求對某一磁軌的i/o操作,從而壟斷了整個磁碟裝置——這一現象,稱為磁臂粘著,在高密度磁碟上,容易出現這種情況。

n步scan演算法是將磁碟請求佇列分為若干個長度為n的子佇列,磁碟排程將按fsfc演算法依次處理這些佇列,而每處理乙個佇列又按照scan演算法,對乙個佇列處理完,再處理其他佇列。

當正在處理某子佇列時,如果又出現新的磁碟i/o請求,便將新請求程序放入其它佇列,這樣就可避免出現磁臂黏著現象。當n值取很大時,會使n步掃瞄演算法蛻化為scan演算法,當n=1時,會使n步掃瞄演算法退化成fcfs演算法

磁碟排程 迴圈掃瞄(CSCAN)

scan演算法既能獲得較好的尋道效能,又能防止飢餓現象。但是存在這樣的問題 當磁頭剛從裡向外移動而超越了某一磁軌時,恰好又有一程序請求訪問此磁軌,這時該程序必須等待。將磁頭繼續從裡向外,然後再從外向裡掃瞄完處於外面的所有要訪問的磁軌後,才處理該程序的請求,致使該請求的請求被大大的推遲。為此,csca...

磁碟排程演算法

磁碟排程在多道程式設計的計算機系統中,各個程序可能會不斷提出不同的對磁碟進行讀 寫操作的請求。由於有時候這些程序的傳送請求的速度比磁碟響應的還要快,因此我們有必要為每個磁碟裝置建立乙個等待佇列,常用的磁碟排程演算法有以下四種 先來先服務演算法 fcfs 最短尋道時間優先演算法 sstf 掃瞄演算法 ...

磁碟排程演算法

一次磁碟讀寫操作的時間由尋找 尋道 時間 延遲時間和傳輸時間決定 1 尋找時間ts 活動頭磁碟在讀寫資訊前,將磁頭移動到指定磁軌所需要的時間。這個時間除跨越n條磁軌的時間外,還包括啟動磁臂的時間s,即 ts m n s。式中,m是與磁碟驅動器速度有關的常數,約為0.2ms,磁臂的啟動時間約為2ms。...