❶ 除了fcfs之外,沒有哪個磁碟調度演算法是真正公平的
先來先服務FCFS:公平,簡單,每個進程的請求都能依次得到處理。沒有對尋道優化,平均尋道時間長。
最短時間優先調度演算法SSTF:要求訪問的磁軌是當前磁頭所在的磁軌最近,每次尋道時間最短。可能導致一些請求無限期推延。
電梯調度演算法SCAN:不僅考慮當前磁軌的距離,優先考慮在磁軌前進方向的最短時間,排除磁頭在盤面上的往復運動。電梯原理。
N-SCAN:是SCAN的改良。磁頭改變方向時,以到達請求服務的最短時間。對中間請求服務更有利。
C-SCAN:磁頭單項移動。消除N-SCAN對兩端請求的不公平。
❷ 求磁碟調度演算法scan演算法的java代碼
1、先來先服務演算法(FCFS)First Come First Service
這是一種比較簡單的磁碟調度演算法。它根據進程請求訪問磁碟的先後次序進行調度。此演算法的優點是公平、簡單,且每個進程的請求都能依次得到處理,不會出現某一進程的請求長期得不到滿足的情況。此演算法由於未對尋道進行優化,在對磁碟的訪問請求比較多的情況下,此演算法將降低設備服務的吞吐量,致使平均尋道時間可能較長,但各進程得到服務的響應時間的變化幅度較小。
先來先服務 (125)86.147.91.177.94.150.102.175.130
[java] view plain print?
❸ 為什麼說傳統的調度演算法都不能算是公平的調度演算法
公平調度器按資源池(pool)來組織作業,並把資源公平的分到這些資源池裡。默認情況下,每一個用戶擁有一個獨立的資源池,以使每個用戶都能獲得一份等同的集群資源而不管他們提交了多少作業。按用戶的 Unix 群組或作業配置(jobconf)屬性來設置作業的資源池也是可以的。在每一個資源池內,會使用公平共享(fair sharing)的方法在運行作業之間共享容量(capacity)。用戶也可以給予資源池相應的權重,以不按比例的方式共享集群。
除了提供公平共享方法外,公平調度器允許賦給資源池保證(guaranteed)最小共享資源,這個用在確保特定用戶、群組或生產應用程序總能獲取到足夠的資源時是很有用的。當一個資源池包含作業時,它至少能獲取到它的最小共享資源,但是當資源池不完全需要它所擁有的保證共享資源時,額外的部分會在其它資源池間進行切分。
主要特點如下:
Ø 支持多用戶多隊列
Ø 資源公平共享(公平共享量由優先順序決定)
Ø 保證最小共享量
Ø 支持時間片搶占
Ø 限製作業並發量,以防止中間數據塞滿磁碟
3. 公平調度演算法分析
3.1 變數定義
❹ 磁碟調度演算法的常用磁碟調度演算法
FCFS演算法根據進程請求訪問磁碟的先後順序進行調度,這是一種最簡單的調度演算法。該演算法的優點是具有公平性。如果只有少量進程需要訪問,且大部分請求都是訪問簇聚的文件扇區,則有望達到較好的性能;但如果有大量進程競爭使用磁碟,那麼這種演算法在性能上往往接近於隨機調度。所以,實際磁碟調度中考慮一些更為復雜的調度演算法。
1、演算法思想:按訪問請求到達的先後次序服務。
2、優點:簡單,公平。
3、缺點:效率不高,相鄰兩次請求可能會造成最內到最外的柱面尋道,使磁頭反復移動,增加了服務時間,對機械也不利。
4、例子:
假設磁碟訪問序列:98,183,37,122,14,124,65,67。讀寫頭起始位置:53。求:磁頭服務序列和磁頭移動總距離(道數)。
由題意和先來先服務演算法的思想,得到下圖所示的磁頭移動軌跡。由此:
磁頭服務序列為:98,183,37,122,14,124,65,67
磁頭移動總距離=(98-53)+(183-98)+|37-183|+(122-37)+|14-122|+(124-14)+|65-124|+(67-65)=640(磁軌) SSTF演算法選擇調度處理的磁軌是與當前磁頭所在磁軌距離最近的磁軌,以使每次的尋找時間最短。當然,總是選擇最小尋找時間並不能保證平均尋找時間最小,但是能提供比FCFS演算法更好的性能。這種演算法會產生「飢餓」現象。
1、演算法思想:優先選擇距當前磁頭最近的訪問請求進行服務,主要考慮尋道優先。
2、優點:改善了磁碟平均服務時間。
3、缺點:造成某些訪問請求長期等待得不到服務。
4、例子:對上例的磁碟訪問序列,可得磁頭移動的軌跡如下圖。 SCAN演算法在磁頭當前移動方向上選擇與當前磁頭所在磁軌距離最近的請求作為下一次服務的對象。由於磁頭移動規律與電梯運行相似,故又稱為電梯調度演算法。SCAN演算法對最近掃描過的區域不公平,因此,它在訪問局部性方面不如FCFS演算法和SSTF演算法好。
演算法思想:當設備無訪問請求時,磁頭不動;當有訪問請求時,磁頭按一個方向移動,在移 動過程中對遇到的訪問請求進行服務,然後判斷該方向上是否還有訪問請求,如果有則繼續掃描;否則改變移動方向,並為經過的訪問請求服務,如此反復。如下圖所示:
掃描演算法(電梯演算法)的磁頭移動軌跡
2、優點:克服了最短尋道優先的缺點,既考慮了距離,同時又考慮了方向。 在掃描演算法的基礎上規定磁頭單向移動來提供服務,回返時直接快速移動至起始端而不服務任何請求。由於SCAN演算法偏向於處理那些接近最里或最外的磁軌的訪問請求,所以使用改進型的C-SCAN演算法來避免這個問題。
釆用SCAN演算法和C-SCAN演算法時磁頭總是嚴格地遵循從盤面的一端到另一端,顯然,在實際使用時還可以改進,即磁頭移動只需要到達最遠端的一個請求即可返回,不需要到達磁碟端點。這種形式的SCAN演算法和C-SCAN演算法稱為LOOK和C-LOOK調度。這是因為它們在朝一個給定方向移動前會查看是否有請求。注意,若無特別說明,也可以默認SCAN演算法和C-SCAN演算法為LOOK和C-LOOK調度。
❺ 關於《操作系統》中的磁碟調度演算法
(1)先來先服務調度演算法
由於該演算法就是按照磁軌請求序列的先後次序依次訪問磁軌的,因此磁軌的訪問序列(服務順序)就是:
110、180、32、115、15、120、60、70。
當前磁頭在50號磁軌。故磁頭移動道數為:
(110-50)+(180-110)+(180-32)+(115-32)+(115-15)+(120-15)+(120-60)+(70-60)=60+70+148+83+100+105+60+10=636
(2)單向掃描調度演算法
該演算法是沿磁頭移動方向訪問距離當前磁軌最近的磁軌,當到達一個頂端時立刻返回到另一個頂端繼續掃描。本題磁頭移動方向是磁軌增加的方向,當前磁頭在50號磁軌。因此磁軌的訪問序列(服務順序)就是:60、70、110、115、120、180、15、32。而磁頭移動道數與前面(1)問差不多,也是兩兩相減,然後求和。在此略
❻ 若磁頭的當前位置100柱面,磁頭正向磁軌號減小方向移動。現有一磁碟讀寫請求隊列,柱面號依次為:
磁碟調度在多道程序設計的計算機系統中,各個進程可能會不斷提出不同的對磁碟進行讀/寫操作的請求。為了盡快的響應進程的磁碟請求,人們設計了磁碟調度演算法。主要有四種磁碟調度演算法。先來先服務演算法(FCFS),最短尋道時間優先演算法(SSTF),掃描演算法(SCAN),循環掃描演算法(CSCAN)。
運用最短尋道優先演算法依次選擇的磁軌是:90、80、125、140、160、190、30、29、25、20、10。
運用電梯調度演算法依次經過的磁軌是:90、80、30、29、25、20、10、125、140、160、190。
我們根據演算法的尋道序列可以得出:最短尋道優先演算法的經過的煮麵數為310個柱面,電梯調度演算法經過的柱面數為270次。
(6)磁碟調度演算法中哪個體現公平性擴展閱讀:
每種磁碟調度演算法的優缺點
先來先服務演算法的優點會根據進程請求訪問磁碟的先後次序進行調度。此演算法的優點是公平、簡單,且每個進程的請求都能依次得到處理,不會出現某一進程的請求長期得不到滿足的情況,此演算法將降低設備服務的吞吐量,致使平均尋道時間可能較長,但各進程得到服務的響應時間的變化幅度較小。
最短尋道優先演算法的缺點每次的尋道時間最短,該演算法可以得到比較好的吞吐量,但卻不能保證平均尋道時間最短。其缺點是對用戶的服務請求的響應機會不是均等的,因而導致響應時間的變化幅度很大。在服務請求很多的情況下,對內外邊緣磁軌的請求將會無限期地被延遲,有些請求的響應時間將不可預期。
掃描演算法的優缺點此演算法基本上克服了最短尋道時間優先演算法的服務集中於中間磁軌和響應時間變化比較大的缺點,而具有最短尋道時間優先演算法的優點即吞吐量較大,平均響應時間較小,但由於是擺動式的掃描方法,兩側磁軌被訪問的頻率仍低於中間磁軌。
循環掃描演算法的優點是這些磁軌剛被處理,而磁碟另一端的請求密度相當高,且這些訪問請求等待的時間較長,為了解決這種情況,循環掃描演算法規定磁頭單向移動。
參考資料來源:網路-磁碟調度演算法
❼ 磁碟調度演算法的簡介
一次磁碟讀寫操作的時間由尋找(尋道)時間、延遲時間和傳輸時間決定:
1) 尋找時間Ts:活動頭磁碟在讀寫信息前,將磁頭移動到指定磁軌所需要的時間。這個時間除跨越n條磁軌的時間外,還包括啟動磁臂的時間s,即:Ts = m * n + s。式中,m是與磁碟驅動器速度有關的常數,約為0.2ms,磁臂的啟動時間約為2ms。
2)延遲時間Tr:磁頭定位到某一磁軌的扇區(塊號)所需要的時間,設磁碟的旋轉速度為r,則:Tr = 1 / (2 * r)。對於硬碟,典型的旋轉速度為5400r/m,相當於一周11.1ms,則Tr為5.55ms;對於軟盤,其旋轉速度在300~600r/m之間,則Tr為50~100ms。
3) 傳輸時間Tt:從磁碟讀出或向磁碟寫入數據所經歷的時間,這個時間取決於每次所讀/寫的位元組數b和磁碟的旋轉速度:Tt = b / (r * N)。式中,r為磁碟每秒鍾的轉數;N為一個磁軌上的位元組數。
在磁碟存取時間的計算中,尋道時間與磁碟調度演算法相關,下面將會介紹分析幾種演算法,而延遲時間和傳輸時間都與磁碟旋轉速度相關,且為線性相關,所以在硬體上,轉速是磁碟性能的一個非常重要的參數。
總平均存取時間Ta可以表示為:Ta = Ts + Tr + Tt。
雖然這里給出了總平均存取時間的公式,但是這個平均值是沒有太大實際意義的,因為在實際的磁碟I/O操作中,存取時間與磁碟調度演算法密切相關。調度演算法直接決定尋找時間,從而決定了總的存取時間。
❽ 目前常用的磁碟調度演算法有哪幾種每種演算法優先考慮的問題是什麼
(1)先來先服務(FCFS,First-Come First-Served)
此演算法根據進程請求訪問磁碟的先後次序進行調度。
(2)最短尋道時間優先(SSTF ,ShortestSeekTimeFirst)
該演算法選擇這樣的進程,其要求訪問的磁軌與當前磁頭所在的磁軌距離最近,以使每次的尋道時間最短,但這種調度演算法卻不能保證平均尋道時間最短。
(3)掃描(SCAN)演算法
SCAN演算法不僅考慮到欲訪問的磁軌與當前磁軌的距離,更優先考慮的是磁頭的當前移動方向。
(4)循環掃描(CSCAN)演算法
CSCAN演算法規定磁頭單向移動,避免了掃描演算法導致的某些進程磁碟請求的嚴重延遲。
(5) N-Step-SCAN和FSCAN調度演算法
1) N-Step-SCAN演算法。為克服前述SSTF、SCAN、CSCAN等調度演算法都可能出現的磁臂停留在某處不動的情況即磁臂粘著現象,將磁碟請求隊列分成若干個長度為N的子隊列,按先來先服務演算法依次處理這些子隊列,而各隊列分別以掃描演算法進行處理。
2) FSCAN演算法
FSCAN演算法實質上是N步SCAN演算法的簡化。它只將磁碟請求訪問隊列分成兩個子隊列。一是當前所有請求磁碟I/O的進程形成的隊列,由磁碟調度按SCAN演算法進行處理。另一個隊列則是在 掃描期間,新出現的所有請求磁碟I/O進程的隊列,放入另一等待處理的請求隊列。這樣,所有的新請求都將被推遲到下一次掃描時處理。
❾ 磁碟調度演算法的比較
優點缺點FCFS演算法公平、簡單平均尋道距離大,僅應用在磁碟I/O較少的場合SSTF演算法性能比「先來先服務」好不能保證平均尋道時間最短,可能出現「飢餓」現象SCAN演算法尋道性能較好,可避免「飢餓」現象不利於遠離磁頭一端的訪問請求C-SCAN演算法消除了對兩端磁軌請求的不公平--
❿ 誰知道磁碟管理的作用
磁碟管理是一項使用計算機時的常規任務,Windows 2000 Server的磁碟管理任務是以一組磁碟管理應用程序的形式提供給用戶的,它們位於「計算機管理」控制台中,包括查錯程序、磁碟碎片整理程序、磁碟整理程序等。
磁碟存儲器不僅容量大,存取速度快,而且可以實現隨機存取,是實現虛擬存儲器所必需的硬體。因此在現代計算機系統中,都配置了磁碟存儲器,並以它為主,存放文件。磁碟存儲管理的主要任務是:
·為文件分配必要的存儲空間;
·提高磁碟存儲空間的利用率;
·提高對磁碟的I/O速度,以改善文件系統的性能;
·採取必要的冗餘措施,來確保文件系統的可靠性。
1.磁碟調度演算法
磁碟是可被多個進程共享的設備。當有多個進程都請求訪問磁碟時,應採用一種適當的調度演算法,以使各進程對磁碟的平均訪問(主要是尋道)時間最小。由於在訪問磁碟的時間中,主要是尋道時間,因此,磁碟調度的目標應是使磁碟的平均尋道時間最少。目前常用的磁碟調度演算法有:先來先服務;最短尋道時間優先;掃描演算法;循環掃描演算法等。
(1)先來先服務.(First-Come,First-Served,FCFS)
這是一種簡單的磁碟調度演算法。它根據進程請求訪問磁碟的先後次序進行調度。此演算法的優點是公平、簡單,且每個進程的請求都能依次得到處理,不會出現某一進程的請求長期得不到滿足的情況。但此演算法由於未對尋道進行優化,致使平均尋道時間可能較長。圖4-5示出了有9個進程先後提出磁碟I/O請求時,按FCFS演算法進行調度的情況。這里,將進程號(請求者)按其發出請求的先後次序排列。這樣,平均尋道距離為55.3條磁軌。與後面要講的幾種調度演算法相比,其平均尋道距離較大。故FCFS演算法僅適用於請求磁碟I/O的進程數目較少的場合。
(2)最短尋道時間優先(ShortestSeekTimeFirst,SSTF)
該演算法選擇這樣的進程,其要求訪問的磁軌與當前磁頭所在的磁軌距離最近,以使每次的尋道時間最短,但這種調度演算法卻不能保證平均尋道時間最短。圖4-6所示按SSTF演算法進行調度時,各進程被調度的次序,每次磁頭的移動距離,以及9次磁頭移動的平均距離。比較圖4-5和圖4-6可以看出,SSTF演算法的平均每次磁頭移動距離,明顯低於FCFS的距離。SSTF較之FCFS有更好的尋道性能,故過去一度被廣泛採用過。
(3)各種掃描演算法
1)掃描(SCAN)演算法。SSTF演算法雖然獲得較好的尋道性能,但它可能導致某些進程發生「飢餓」(starvation)。SCAN演算法不僅考慮到欲訪問的磁軌與當前磁軌的距離,更優先考慮的是磁頭的當前移動方向。例如,當磁頭正在自里向外移動時,SCAN演算法所選擇的下一個訪問對象應是其欲訪問的磁軌既在當前磁軌之外,又是距離最近的。這樣自里向外地訪問,直到再五更外的磁軌需要訪問才將磁臂換向,自外向里移動。這時,同樣也是每次選擇這樣的進程來調度,即其要訪問的磁軌,在當前磁軌之內,從而避免了飢餓現象的出現。由於這種演算法中磁頭移動的規律頗似電梯的運行,露故又稱為電梯調度演算法。
2)循環掃描(CSCAN)演算法。處理該進程的請求,致使該進程的請求被嚴重地推遲。為了減少這種延遲,CSCAN演算法規定磁頭單向移動。例如,只自里向外移動,當磁頭移到最外的被訪問磁軌時,磁頭立即返回到最里的欲訪磁軌,即將最小磁軌號緊接著最大磁軌號構成循環,進行掃描。
2.廉價冗餘磁碟陣列RAID
磁碟系統中比較引人注目的是廉價冗餘磁碟陣列(Rendant arrays ofinexpensive disk,RAID)的發展,這是將並行處理原理引入磁碟系統。它採用低成本的小溫盤,使多台磁碟構成磁碟陣列,數據展開存儲在多台磁碟上,提高數據傳輸的帶寬,並利用冗餘技術提高可靠性。磁碟陣列還具有容量大,數據傳輸率高,功耗低,體積小,成本低和便於維護等優點。1987年美國加州大學伯克利分校的D.A.Patterson等人,首先提出了廉價冗餘磁碟陣列的概念,並將RAID分為6級:
RAID-0。該級僅提供了並行交叉存取。它雖然有效提高了磁碟I/O速度,但並無冗餘校驗功能,致使磁碟系統的可靠性不好。只要陣列中有一個磁碟損壞,便會造成不可彌補的數據丟失。
RAID-1。它是鏡像磁碟冗餘陣列,將每一數據塊重復存人鏡像磁碟,以改善磁碟機的可靠性。鏡像盤也稱拷貝盤,它相當於一個不斷進行備份操作的磁碟。這種磁碟的冗餘度為100%,使有效容量下降了一半,成本較高。鏡像盤是磁碟陣列的簡單形式。
RAID-2。它是採用海明碼糾錯冗餘的磁碟陣列,將數據位交叉寫人幾個磁碟中,並利用幾個磁碟驅動器進行按位的出錯檢查,它比鏡像磁碟冗餘陣列的冗餘度小。這種陣列中的數據讀寫操作涉及陣列中的每一個磁碟,這影響小文件的傳輸率,因此它適合於大量順序數據訪問。
RAID-3。它是採用奇偶校驗冗餘的磁碟陣列,也採用數據位交叉,陣列中只有一個校驗盤。將數據按位交叉寫到幾個磁碟上,用一個校驗盤檢查數據錯誤。各磁碟同步運轉,陣列中的驅動器數量可擴展。這種陣列冗餘度較小,因為採用數據位交叉,所以也適合大量順序數據訪問。
RAID-4。它是一種獨立傳送磁碟陣列,採用數據塊交叉,用一個校驗盤。將數據按塊交叉存儲在多個磁碟上。在數據不沖突時,多個磁碟可並行進行數據讀操作。這種磁碟陣列適用於小塊數據讀寫,它的小塊數據傳輸速度比RAID-3快。
RAID-5。它也是一種獨立傳送磁碟陣列,採用數據塊交叉和分布的冗餘校驗,將數據和校驗都分布在各個磁碟中,沒有專門的奇偶校驗驅動器。奇偶校驗碼被分布存放在陣列中各驅動器中,磁碟冗餘度低,使並行讀寫操作成為可能。這種方法也適用於小塊數據的讀寫。但對控制器的要求較高,是最難實現的一種磁碟陣列。
RAID自1988年面世後,很快流行起來,這主要是因為RAID具有以下明顯的優點:
可靠性高。RAID的最大特點就是它的高可靠性。除了RAID-0級外,其餘各級都採用了容錯技術。與單台磁碟機相比,其可靠性往往高出一個數量級。
磁碟I/O速度高。由於磁碟陣列採取並行交叉存取,故可將磁碟I/O速度提高N-1倍,N為磁碟數目。性能/價格比高。利用RAID技術實現犬容量高速存儲器時,其體積與相同容量和速度的大型磁碟系統相比,只是後者的三分之一,價格也是後者的三分之一,且可靠性更高。