操作系统总复习(计算题分析题)
操作系統總復習(一)—— 計算題
- 1、設在批處理系統中有四道作業。它們進入系統的時間及運行時間如下:
- (1)FCFS算法(先來先調度)
- (2)SJF算法(最短者優先)
- 2、在銀行家算法中,若出現下述資源分配情況(見下表)
- (1)該狀態是否安全
- (2)如果進程P2提出請求request2(1,2,2,2)后,系統能否將資源分配后給它
- 3、對于如下的頁面訪問序列:
- (1)使用FIFO產生的缺頁中斷是多少
- 內存塊數為3時
- 內存塊數為4時
- (2)使用LRU置換算法產生的缺頁中斷是多少
- 內存塊數為3時
- 內存塊數為4時
1、設在批處理系統中有四道作業。它們進入系統的時間及運行時間如下:
| 1 | 8:00 | 2.00 |
| 2 | 8:30 | 0.50 |
| 3 | 9:00 | 0.10 |
| 4 | 9:30 | 0.20 |
設系統每次只選擇一個作業裝入主機,分別給出在下列算法中這組作業的運行順序、平均周轉時間和平均帶權周轉時間
周轉時間=作業完成時間-作業到達時間
帶權周轉時間=作業周轉時間 / 作業實際運行的時間
(1)FCFS算法(先來先調度)
運行順序為:1–>2–>3–>4
周轉時間:
| 1 | 2-0=2 |
| 2 | 2+0.5-0.5=2 |
| 3 | 2+0.5+0.1-1=1.6 |
| 4 | 2+0.5+0.1+0.2-1.5=1.3 |
平均周轉時間:(2+2+1.6+1.3)/4=1.725
帶權周轉時間:
| 1 | 2/2=1 |
| 2 | 2/0.5=4 |
| 3 | 1.6/0.1=16 |
| 4 | 1.3/0.2=6.5 |
平均帶權周轉時間:(1+4+16+6.5)/4=6.875
(2)SJF算法(最短者優先)
運行順序為:1–>3–>4–>2
| 1 | 2-0=2 |
| 3 | 2+0.1-1=1.1 |
| 4 | 2+0.1+0.2-1.5=0.8 |
| 2 | 2+0.1+0.2+0.5-0.5=2.3 |
平均周轉時間:(2+1.1+0.8+2.3)/4=1.55
帶權周轉時間:
| 1 | 2/2=1 |
| 3 | 1.1/0.1=11 |
| 4 | 0.8/0.2=4 |
| 2 | 2.3/0.5=4.6 |
平均帶權周轉時間:(1+11+4+4.6)/4=5.15
2、在銀行家算法中,若出現下述資源分配情況(見下表)
| r1 r2 r3 r4 | r1 r2 r3 r4 | r1 r2 r3 r4 | |
| P0 | 0 0 3 2 | 0 0 1 2 | 1 6 2 2 |
| P1 | 1 0 0 0 | 1 7 5 0 | |
| P2 | 1 3 5 4 | 2 3 5 6 | |
| P3 | 0 3 3 2 | 0 6 5 2 | |
| P4 | 0 0 1 4 | 0 6 5 6 |
(1)該狀態是否安全
進行安全性檢查:
| r1 r2 r3 r4 | r1 r2 r3 r4 | r1 r2 r3 r4 | r1 r2 r3 r4 | ||
| P0 | 1 6 2 2 | 0 0 1 2 | 0 0 2 3 | 1 6 4 5 | true |
| P3 | 1 6 4 5 | 0 6 5 2 | 0 3 3 2 | 1 9 7 7 | true |
| P4 | 1 9 7 7 | 0 6 5 6 | 0 0 1 4 | 1 9 8 11 | true |
| P1 | 1 9 8 11 | 1 7 5 0 | 1 0 0 0 | 2 9 8 11 | true |
| P2 | 2 9 8 11 | 2 3 5 6 | 1 3 5 4 | 3 12 13 15 | true |
得到以下安全性序列(P0, P3, P4, P1, P2),所以該狀態安全。
(2)如果進程P2提出請求request2(1,2,2,2)后,系統能否將資源分配后給它
銀行家算法步驟 :
Step1: request(1,2,2,2) <= need(2,3,5,6),繼續第二步,否則認為出錯,因為它所需要的資源數已經超過它所宣布的最大值。
Step2: request(1,2,2,2) <= available(1,6,2,2),繼續第三步,否則表示尚無足夠資源,Pi需要等待。
Step3: 系統試探著把資源分配給P2,并進行下面的修改:
avaliable[j] : (1,6,2,2) - (1,2,2,2) … = avaliable(0,4,0,0);
allocation[2,j] : (1,3,5,4) + (1,2,2,2) = allocation(2,5,7,6);
need[2,j] : (2,3,5,6) - (1,2,2,2) = need(1,1,3,4);
為P2分配資源后:
| r1 r2 r3 r4 | r1 r2 r3 r4 | r1 r2 r3 r4 | |
| P0 | 0 0 3 2 | 0 0 1 2 | 0 4 0 0 |
| P1 | 1 0 0 0 | 1 7 5 0 | |
| P2 | 2 5 7 6 | 1 1 3 4 | |
| P3 | 0 3 3 2 | 0 6 5 2 | |
| P4 | 0 0 1 4 | 0 6 5 6 |
Step4: 進行安全檢查:發現可用資源(0,4,0,0),不能滿足任何一個進程的need的需要。所以系統進入不安全的狀態,此時不進行系統資源的分配。
所以,系統不能將資源分配給它。
3、對于如下的頁面訪問序列:
1,2,3,4,1,2,5,1,2,3,4,5當內存塊數分別為3和4時,問:
(1)使用FIFO產生的缺頁中斷是多少
FIFO(發生缺頁時的調入順序即為淘汰順序)
內存塊數為3時
1、訪問1,缺頁,調入1,內存中為 1, , ;
2、訪問2,缺頁,調入2,內存中為 1,2, ;
3、訪問3,缺頁,調入3,內存中為 1,2,3;
4、訪問4,缺頁,調入4,內存中為 4,2,3;
5、訪問1,缺頁,調入1,內存中為 4,1,3;
6、訪問2,缺頁,調入2,內存中為 4,1,2;
7、訪問5,缺頁,調入5,內存中為 5,1,2;
8、訪問1,不缺頁,內存中為 5,1,2;
9、訪問2,不缺頁,內存中為 5,1,2;
10、訪問3,缺頁,調入3,內存中為 5,3,2;
11、訪問4,缺頁,調入4,內存中為 5,3,4;
12、訪問5,不缺頁,內存中為 5,3,4;
共9次缺頁
內存塊數為4時
1、訪問1,缺頁,調入1,內存中為 1, , , ;
2、訪問2,缺頁,調入2,內存中為 1,2, , ;
3、訪問3,缺頁,調入3,內存中為 1,2,3, ;
4、訪問4,缺頁,調入4,內存中為 1,2,3,4;
5、訪問1,不缺頁,內存中為 1,2,3,4;
6、訪問2,不缺頁,內存中為 1,2,3,4;
7、訪問5,缺頁,調入5,內存中為 5,2,3,4;
8、訪問1,缺頁,調入1,內存中為 5,1,3,4;
9、訪問2,缺頁,調入2,內存中為 5,1,2,4;
10、訪問3,缺頁,調入3,內存中為 5,1,2,3;
11、訪問4,缺頁,調入4,內存中為 4,1,2,3;
12、訪問5,缺頁,調入5,內存中為 4,5,2,3;
共10次缺頁
(2)使用LRU置換算法產生的缺頁中斷是多少
LRU(通過棧來實現,新訪問的放入棧底,每次淘汰棧頂)
內存塊數為3時
1、訪問1,缺頁,調入1,內存中為 1, , ;
2、訪問2,缺頁,調入2,內存中為 1,2, ;
3、訪問3,缺頁,調入3,內存中為 1,2,3;
4、訪問4,缺頁,調入4,內存中為 2,3,4;
5、訪問1,缺頁,調入1,內存中為 3,4,1;
6、訪問2,缺頁,調入2,內存中為 4,1,2;
7、訪問5,缺頁,調入5,內存中為 1,2,5;
8、訪問1,不缺頁,內存中為 2,5,1;
9、訪問2,不缺頁,內存中為 5,1,2;
10、訪問3,缺頁,調入3,內存中為 1,2,3;
11、訪問4,缺頁,調入4,內存中為 2,3,4;
12、訪問5,缺頁,調入5,內存中為 3,4,5;
共10次缺頁
內存塊數為4時
1、訪問1,缺頁,調入1,內存中為 1, , , ;
2、訪問2,缺頁,調入2,內存中為 1,2, , ;
3、訪問3,缺頁,調入3,內存中為 1,2,3, ;
4、訪問4,缺頁,調入4,內存中為 1,2,3,4;
5、訪問1,不缺頁,內存中為 2,3,4,1;
6、訪問2,不缺頁,內存中為 3,4,1,2;
7、訪問5,缺頁,調入5,內存中為 4,1,2,5;
8、訪問1,不缺頁,內存中為 1,2,5,1;
9、訪問2,不缺頁,內存中為 2,5,1,2;
10、訪問3,不缺頁,內存中為 5,1,2,3;
11、訪問4,缺頁,調入4,內存中為 1,2,3,4;
12、訪問5,缺頁,調入5,內存中為 2,3,4,5;
共7次缺頁
總結
以上是生活随笔為你收集整理的操作系统总复习(计算题分析题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android基础篇 Android 数
- 下一篇: Latex中多个作者用同一个地址、一个作