四、應用題 ( 本大題共5 小題,50 分 )
1. 假設某系統中有五個進程,每個進程的執行時間(單位:ms)和優先數如下表所示(優先數越小,其優先級越高)。
進程 |
執行時間 |
優先數 |
P1 P2 P3 P4 P5 |
10 1 2 1 5 |
3 1 5 4 2 |
如果在0時刻,各進程按P1、P2、P3、P4、P5的順序同時到達,請回答以下問題:(12分)
(1)當系統采用先來先服務調度算法時:
進程執行順序是 p1 p2 p3 p4 p5 平均周轉時間是 13.4ms
(2)當系統采用高優先級優先調度算法時:
進程執行順序是 p2 p5 p1 p4 p3 平均周轉時間是 11.8ms
(3)當系統采用時間片輪轉法時
進程執行順序是 p1、p2、p3、p4、p5、p1、p3、p5、p1、p5、p1、p5、p1、p5、 p1 平均周轉時間是 9.2ms
2.在一個段式存儲管理系統中,其段表如下表所示:
段號 |
內存起始地址 |
段長 |
0 1 2 3 4 |
210 2350 100 1350 1938 |
500 20 90 590 95 |
請將下列邏輯地址所對應的物理地址填入下表中(10分):
段號 |
段內位移 |
物理地址 |
0 |
430 |
640 |
1 |
10 |
2360 |
2 |
500 |
段長越界 |
3 |
400 |
1750 |
5 |
32 |
段號越界 |
解析:
0段號內存起始地址為210,段內位移430<段長500,說明段長沒有越界,所以物理地址為210+430=640
1段號內存起始地址為2350,段內位移10<段長20,說明段長沒有越界,所以物理地址為2350+10=2360
2段號內存起始地址為100,段內位移500>段長90,說明段長越界。
3段號內存起始地址為1350,段內位移400<段長590,說明段長沒有越界,所以物理地址為1350+400=1750
由於段表中沒有5段號,所以段號5段號越界。
3.設某移動頭磁盤有200道,編號為0~199,磁頭剛從143道完成了讀寫,且正向磁道號增加方向移動,對於如下訪盤請求序列(磁道號):
86,147,91,177,94,150,102,175,130
請回答以下問題:(12分)
(1)在FCFS調度算法下的磁頭移動順序為 143,86,147,91,177,94,150,102,175,130 ;磁頭移動的總距離為565 ;
解析:
百度百科
FCFS(First Come First Served )先來先服務,英語諺語。在計算機領域中,有時被用以描述數據結構中的隊列性質,類似於FIFO(先進先出)。
任務
在計算機並行任務處理中,被視為最簡單的任務排序策略,即是無論任務大小和所需完成時間,對先到的任務先處理,后到的任務后處理。它是一種非搶占式策略。
FCFS:先來先服務調度算法。
磁頭剛從143道完成了讀寫,如下訪盤請求序列(磁道號):
86,147,91,177,94,150,102,175,130
那么按照FSFS算法讀取順序為:
143, 86,147,91,177,94,150,102,175,130
那么 讀取86時磁頭移動距離為: 143-86=57
讀取147時磁頭移動距離為:147-86=61
讀取91時磁頭移動距離為: 147-91=56
讀取177時磁頭移動距離為:177-91=86
讀取94時磁頭移動距離為: 177-94=83
讀取150時磁頭移動距離為: 150-94=56
讀取102時磁頭移動距離為: 150-102=48
讀取175時磁頭移動距離為: 175-102=73
讀取130時磁頭移動距離為: 175-130=45
因此,磁頭移動的總距離為57+61+56+86+83+56+48+73+45=565
(2)在SSTF調度算法下的磁頭移動順序為 143,147,150,130,102,94,91,86,175,177 ;磁頭移動的總距離為 162 ;
*******************************************************
解析:
百度百科
SSTF
最短尋道時間優先(ShortestSeekTimeFirst,SSTF)該算法選擇這樣的進程,其要求訪問的磁道與當前磁頭所在的磁道距離最近,以使每次的尋道時間最短,但這種調度算法卻不能保證平均尋道時間最短。SSTF算法的平均每次磁頭移動距離,明顯低於FCFS的距離。SSTF較之FCFS有更好的尋道性能,故過去一度被廣泛采用過。
SSTF:最短尋道時間優先調度算法。
0 86 91 94 102 130 143 147 150 175 177
磁頭剛從143道完成了讀寫,如下訪盤請求序列(磁道號):
86,147,91,177,94,150,102,175,130
那么按照當處於143道時,查找最短尋道時間。
143-130=13>4=147-143
所以下一個最短尋道時間訪問的應該是147。
這時訪問磁道順序為143,147
同理,147-130=17>3=150-147
這時訪問磁道順序為143,147,150
175-150=25>20=150-130
這時訪問磁道順序為143,147,150,130
130-102=28<45=175-130
這時訪問磁道順序為143,147,150,130,102
依次類推,最后訪問磁道順序為:
143,147,150,130,102,94,91,86,175,177
訪問147磁道距離:147-143=4
訪問150磁道距離:150-147=3
訪問130磁道距離:150-130=20
訪問102磁道距離:130-102=28
訪問94磁道距離:102-94=8
訪問91磁道距離:94-91=3
訪問86磁道距離:91-86=5
訪問175磁道距離:175-86=89
訪問177磁道距離:177-175=2
因此,磁頭移動總距離為:4+3+20+28+8+3+5+89+2=162
(3)在SCAN調度算法下的磁頭移動順序為 143,147,150,175,177,130,102,94,91,86 ;磁頭移動的總距離為 125 ;
解析:
百度百科
SCAN:掃描調度算法(又稱電梯調度算法)是計算機磁盤驅動調度的一種方法。
實現方法:
掃描算法(SCAN)不僅考慮到欲訪問的磁道與當前磁道的距離,更優先考慮的是磁頭的當前移動方向。當磁頭正在由里向外移動時,SCAN算法所選擇的下一 個訪問對象應是其欲訪問的磁道,既在當前磁道之外,又是距離最近的。這樣由里向外地訪問,直至再無更外的磁道需要訪問時,才將磁臂換向,由外向里移動。這 時,同樣也是每次選擇在當前磁道之內,且距離最近的進程來調度。
SCAN:掃描算法(SCAN)不僅考慮到欲訪問的磁道與當前磁道的距離,更優先考慮的是磁頭的當前移動方向。
0 86 91 94 102 130 143——> 147 150 175 177
當處於143道時,優先考慮的是磁頭的當前移動方向
所以訪問時磁頭當前移動的方向優先,即
143——>147——>150——>175——>177
當磁頭訪問到177時,已經沒有了更外的磁道需要訪問,這時磁臂換向,然后由外向里移動。
因此,采用SCAN調度算法磁頭移動順序為:
143——>147——>150——>175——>177——>130——>102——>94——>91——>86
訪問147磁道距離:147-143=4
訪問150磁道距離:150-147=3
訪問175磁道距離:175-150=25
訪問177磁道距離:177-175=2
訪問130磁道距離:177-130=47
訪問102磁道距離:130-102=28
訪問94磁道距離: 102-94=8
訪問91磁道距離:94-91=3
訪問86磁道距離:91-86=5
因此,磁頭移動總距離:4+3+25+2+47+28+8+3+5=125
4.設系統分配給某作業4個頁幀使用,執行時的頁面走向為:
1,2,3,6,4,7,3,2,1,4,7,5,6,5,2,1
請回答以下問題:(10分)
(1)采用FIFO頁面置換算法時:
淘汰頁面的順序為 1,2,3,6,4,7 ;
缺頁中斷次數為 10 ;
解析:
FIFO:先進先出頁面置換算法。
算法實現:總是淘汰最先進入內存的頁面,即選擇在內存中駐留時間最久的頁面進行淘汰。
由上圖可知,淘汰順序為:1,2,3,6,4,7
缺頁次數為:10次。
(2)采用LRU頁面置換算法時:
淘汰頁面的順序為 1,2,6,4,7,3,2,1,4, 7 ;
缺頁中斷次數為 14 ;
解析:
LRU頁面置換算法:最近最久未使用LRU頁面置換算法,是根據頁面調入內存后的使用情況進行決策的。
算法的實現:選擇最近最久未使用的頁面予以淘汰。
由於LRU算法淘汰的是上次使用距離t時刻最遠的頁,故需記錄這個距離。
5.一系統具有150個存儲單元,在T0時刻系統按下表所示分配給3個進程。
進程 |
最大需求 |
已分配 |
P1 P2 P3 |
70 60 60 |
25 40 45 |
對下列請求應用銀行家算法分別分析判定是否安全?(6分)
(1)第4個進程P4到達,最大需求60個存儲單元,當前請求分配25個單元。試問,若系統接受該請求,處於安全狀態嗎?
答:一系統具有150個存儲單元,在T0時刻系統按下表所示分配給3個進程,分配第四個進程25個單元。
那么四個進程分配完畢后,剩下可分配存儲單元數為:150-25-40-45-25=15個存儲單元。
p1還需要分配存儲單元數目:70-25=45
p2還需要分配存儲單元數目:60-40=20
p3還需要分配存儲單元數目:60-45=15
p4還需要分配存儲單元數目:60-25=35
此時,系統只剩下存儲單元15個,能滿足的只有進程p3。
所以系統將剩下全部15個存儲單元分配給進程p3,進程p3完成后可以回收45個存儲單元。
此時系統剩余可分配存儲單元為60個,可以滿足進程p1,p2,p4任意一個。(所以結果不唯一)
假設我們選擇進程p2,那么分配給進程p2存儲單元20個,進程p2執行完成,回收存儲單元40。
此時系統剩余可分配存儲單元60+40=100個,進程p1和進程p4都可以滿足。
假設我們選擇進程p1,那么分配給進程p1存儲單元45個,進程p2執行完成,回收存儲單元25。
此時系統剩余可分配存儲單元100+25=125
最后選擇進程p4,分配給進程p4存儲單元35個,回收存儲單元25.
由上可知,當執行順序為p3——>p2——>p1——>p4時,可以滿足所有進程。
所以是安全狀態。
(2)第4個進程P4到達,最大需求50個存儲單元,當前請求分配35個單元。試問,若系統接受該請求,處於安全狀態嗎?
答:一系統具有150個存儲單元,在T0時刻系統按下表所示分配給3個進程,再分配第四個進程35個單元。
那么四個進程分配完畢后,剩下可分配存儲單元數為:150-25-40-45-35=5個存儲單元。
p1還需要分配存儲單元數目:70-25=45
p2還需要分配存儲單元數目:60-40=20
p3還需要分配存儲單元數目:60-45=15
p4還需要分配存儲單元數目:50-35=15
所剩下的存儲單元5個不足以滿足任何一個進程,因此找不到一個安全序列,所以為不安全狀態。
卷B
二、填空題
4.假設某程序的頁面訪問序列為1、2、3、4、5、2、3、1、2、3、4、5、1、2、3、4且開始執行時主存中沒有硬骨頭同,則在分配給該程序的物理塊數是3且采用FIFO方式時缺頁次數是__13 ___;在分配給程序的物理塊數是4且采用FIFO方式時,缺頁次數是___ 14 ___.在分配給該程序的熱處理塊數是3且用LRU方式時,缺頁次數是_ _14___.在分配給該程序的物理塊數為4且采用LRU方式是,缺頁次數是___12_ ___.
最近復習操作系統准備期末,找的經典題目,自己寫的題解。
文中有些內容為了保留原來整齊排版格式,使用了圖片截圖。
交流即分享,分享才能進步!
不足之處,還請各位前輩多多指教。