操作系統--課堂問答筆記25--習題答案

[5-7]

1、什麼是“飢餓”現象?哪些磁盤調度算法會導致“飢餓”現象發生?

答:按照某種磁盤調度算法,可能會導致有些磁道總是得不到的訪問(可能磁道優先級低),這就是“飢餓”現象。最短尋道時間優先(SSTF)算法會導致“飢餓”現象發生,因爲只要不斷有新進程的請求到達,且其所要訪問的磁道與磁頭當前所在磁道的距離較近,這種新進程的I/O請求必然優先滿足(也就是距離磁頭當前所在磁道的距離較遠的磁道總是得不到訪問)。

2、簡述FCFS、SSTF、SCAN、CSCAN算法的基本原理(NStepSCAN和FSCAN調度算法不要求)

答:給出磁頭將要訪問的磁道號序列,以及磁盤調度算法(可能還包括當前磁頭的移動方向),計算磁頭總的尋道距離(尋道長度)或者平均尋道距離(尋道長度)是經常出現在各類考試中的典型題目。

先來先服務(FCFS)算法:根據進程請求訪問磁盤的先後次序進行調度。

最短尋道時間優先(SSTF) 算法:該算法選擇這樣的進程,其要求訪問的磁道與當前磁頭所在的磁道距離最近,以使每次的尋道時間最短,但這種算法不能保證平均尋道時間最短(因爲磁頭可能經常往復運動,導致時間消耗過多)。

掃描(SCAN)算法:也叫電梯算法,總是從磁頭當前位置開始,沿磁頭的移動方向去選擇離當前磁頭最近的那個磁道。假設沿磁頭的方向無請求訪問時,就改變磁頭的移動方向。採用這樣的調度算法。需要設置兩個隊列。依據磁頭的移動方向,能訪問到的磁道由近及遠排序。背離磁頭移動方向的磁道也由近及遠排隊。先按磁頭當前移動方向調度第一個隊列,當該方向沒有磁道時,再改變方向,調度另一個隊列。

循環掃描(CSCAN)算法:也叫單向電梯算法、剷雪機算法(名字很形象的),循環掃描調度算法是在掃描算法的基礎上改進的。磁頭改爲單項移動,由外向裏。當前位置開始沿磁頭的移動方向去選擇離當前磁頭最近的那個磁道。如果沿磁頭的方向無請求訪問時,再回到最外,訪問磁道號最小的磁道。

例子如下(從左到右,從上到下依次使用FCFS、SSTF、SCAN、CSCAN算法):

 

3、高速磁盤緩衝,磁盤容錯和廉價冗餘磁盤陣列等內容是第8章磁盤存儲器管理的內容(不要求),瞭解幾個概念:

高速磁盤緩存:磁盤高速緩存是一種軟件機制,它允許系統把通常存放在磁盤上的一些數據保留在RAM(內存)中,以便對那些數據的進一步訪問而不用再訪問磁盤。因爲對同一磁盤數據的反覆訪問頻繁發生,所以磁盤高速緩存對系統性能至關重要。與磁盤交互的用戶進程可能需要反覆請求讀或寫同一磁盤數據。此外,不同的進程可能也需要在不同的時間訪問相同的磁盤數據。分配一些內存空間作爲採用高速磁盤緩衝可以極大地提高磁盤I/O速度。

提高磁盤I/O速度的其它方法(除磁盤高速緩存外):提前讀,延遲寫,優化物理塊的分佈,虛擬盤。

廉價冗餘磁盤陣列:磁盤陣列(Redundant Arrays of Independent Disks,RAID):獨立磁盤構成的具有冗餘能力的陣列,磁盤陣列是由很多塊獨立的磁盤,組合成一個容量巨大的磁盤組,把相同的數據存儲在多個硬盤的不同的地方(冗餘)的方法。通過把數據放在多個硬盤上,輸入輸出操作能以平衡的方式交疊,改良性能。因爲多個硬盤增加了平均故障間隔時間(MTBF),儲存冗餘數據也增加了容錯性能。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章