1. 程式人生 > >磁碟移臂排程演算法 簡介

磁碟移臂排程演算法 簡介


  移臂排程演算法又叫磁碟排程演算法,根本目的在於有效利用磁碟,保證磁碟的快速訪問。   1) 先來先服務演算法:該演算法實際上不考慮訪問者要求訪問的物理位置,而只是考慮訪問者提出訪問請求的先後次序。有可能隨時改變移動臂的方向。   2) 最短尋找時間優先排程演算法:從等待的訪問者中挑選尋找時間最短的那個請求執行,而不管訪問者的先後次序。這也有可能隨時改變移動臂的方向。   3) 電梯排程演算法:從移動臂當前位置沿移動方向選擇最近的那個柱面的訪問者來執行,若該方向上無請求訪問時,就改變臂的移動方向再選擇。   4) 單向掃描排程演算法。不考慮訪問者等待的先後次序,總是從0號柱面開始向裡道掃描,按照各自所要訪問的柱面位置的次序去選擇訪問者。在移動臂到達最後一個柱面後,立即快速返回到0號柱面,返回時不為任何的訪問者提供服務,在返回到0號柱面後,再次進行掃描。

編輯本段示例

  以上幾種演算法要求記住定義並根據訪問條件,做出排程後的訪問序列。   例:假定某磁碟共有200個柱面,編號為0-199,如果在為訪問143號柱面的請求者服務後,當前正在為訪問125號柱面的請求服務,同時有若干請求者在等待服務,它們每次要訪問的柱面號為   86,147,91,177,94,150,102,175,130   請回答下列問題:   a.分別用先來先服務演算法,最短尋找時間優先演算法、電梯排程演算法和單各掃描演算法來確定實際的服務次序。   b.按實際服務計算上述演算法下移動臂需移動的距離。   答:a 當前柱面位置:125#,採用不同的排程演算法服務滿足次序如:表(1)
  表格 1   排程演算法 作業排程次序

編輯本段排程演算法

  先來先服務 (125)86.147.91.177.94.150.102.175.130   想:先來先得,就是按題目把你的順序列出就可。   最短尋找時間優先 (125)130.147.150.175.177.102.94.91.86   想:尋找與執行位置最短的時間進行依次排列。   電梯排程 (125),102,94,91,86,130,147,150,175,177   想:按當前位置找出最近的那個數,當前位置指向最近數決定方向,依次排列數字,排到盡頭,再按當位置和最近數的相反方面依次排列數字。   單向掃描 (125)130.147.150.175.177.86.91.94.102
  想:由當前位置到從小到大排列數字,再將剩下的數由小到大排。   (2)上述各演算法移動臂需移動的距離如:表2   表格 2   排程演算法 移動臂的移動距離   先來先服務 39+22+34+52+31+25+23+50+5=281   最短尋找時間優先 5+17+3+25+2+75+8+3+5=143   電梯排程 23+8+3+5+44+17+3+25+2=130   單向掃描 5+17+3+25+2+22+1+86+5+3+8=177。注意此處有個199到0的+1。