習題:在兩道環境下有四個作業, 已知它們進入系統的時間、估計運行時間,系統采用短作業優先作業調度算法,作業被調度運行后不再退出, 當一新作業投入運行后,可按照作業運行時間長短調整作業執行的次序
請給出這四個作業的執行時間序列,並計算出平均周轉時間及帶權平均周轉時間
| 作業 |
進入時間 |
估計運行時間(分鍾) |
| JOB1 |
10:00 |
30 |
| JOB2 |
10:05 |
20 |
| JOB3 |
10:10 |
5 |
| JOB4 |
10:20 |
10 |
答:最短作業優先算法執行分析過程:
10:00,JOB1進入,只有一作業,JOB1被調入執行, 10:05,JOB2到達,最多允許兩作業同時進入,所以JOB2也被調入;但是內存中有兩作業,哪一個執行?題目規定當一新作業運行后,可按作業運行時間長短調整執行次序。即基於優先數可搶占式調度策略,優先數是根據作業估計運行時間大小來決定的,由於JOB2運行時間(20分)比JOB1少(到10:05,JOB1還需25分鍾),所以JOB2運行,而JOB1等待;
10:10,JOB3到達輸入井,內存已有兩作業, JOB3不能馬上進入內存; 10:20,JOB4也不能進入內存, 10:25,JOB2運行結束,退出,內存中剩下JOB1,輸入井中有兩作業JOB3和JOB4,如何調度?
作業調度算法:最短作業優先,因此JOB3進入內存,比較JOB1和JOB3運行時間, JOB3運行時間短,故JOB3運行,同樣,JOB3退出后,下一個是JOB4, JOB4結束后,JOB1才能繼續運行。

思考題
1、有5個進程P1,P2,P3,P4,P5,它們同時依次(一個接一個)進入就緒隊列,它們的優先級和需要的處理時間如表:
寫出分別采用先來先服務和非搶占式的優先級調度算法選中進程運行的次序,分別計算出上述兩種算法使各進程在就緒隊列中的等待時間以及兩種算法下的平均等待時間。
答:
(1)先來先服務
| 進程 |
進入時間 |
開始時間 |
完成時間 |
等待時間 |
周轉時間 |
帶權周轉時間 |
| P1 |
0 |
0 |
10 |
0 |
10 |
10/10=1 |
| P2 |
0 |
10 |
11 |
10 |
11 |
11/1=11 |
| P3 |
0 |
11 |
13 |
11 |
13 |
13/2=6.5 |
| P4 |
0 |
13 |
14 |
13 |
14 |
14/1=14 |
| P5 |
0 |
14 |
19 |
14 |
19 |
19/5=3.8 |
平均等待時間:(0+10+11+13+14)/5=9.6
(2)非搶占式的優先級調度算法(優先級高低按1到5算)
| 進程 |
進入時間 |
開始時間 |
完成時間 |
等待時間 |
周轉時間 |
帶權周轉時間 |
| P1 |
0 |
0 |
10 |
0 |
10 |
10/10=1 |
| P2 |
0 |
10 |
11 |
10 |
11 |
11/1=11 |
| P3 |
0 |
16 |
18 |
16 |
18 |
18/2=9 |
| P4 |
0 |
18 |
19 |
18 |
19 |
19/1=19 |
| P5 |
0 |
11 |
16 |
11 |
16 |
16/5=3.2 |
平均等待時間:(0+10+16+18+11)/5=11
2、定義:作業周轉時間=作業的完成時間一作業到達時間。現有三個作業同時到達,每個作業的計算時間均為1小時,它們在一台處理器上以單道方式運行,則平均周轉時間為______小時。
答:
| 作業 |
進入時間 |
開始時間 |
完成時間 |
周轉時間 |
| 1 |
0 |
0 |
1 |
1 |
| 2 |
0 |
1 |
2 |
2 |
| 3 |
0 |
2 |
3 |
3 |
平均周轉時間:(1+2+3)/3=2
3、設有4道作業,它們的提交時間及執行時間如下:
| 作業號 |
提交時間 |
執行時間 |
| 1 |
10.0 |
2.0 |
| 2 |
10.2 |
1.0 |
| 3 |
10.4 |
0.5 |
| 4 |
10.5 |
0.3 |
試計算在單道程序環境下,采用先來先服務算法、最高響應比優先算法和短作業優先算法的平均周轉時間和平均帶權周轉時間。
答:
(1)先來先服務算法
| 作業 |
進入時間 |
開始時間 |
完成時間 |
周轉時間 |
帶權周轉時間 |
| 1 |
10 |
10 |
12 |
2 |
2/2=1 |
| 2 |
10.2 |
12 |
13 |
2.8 |
2.8/1=2.8 |
| 3 |
10.4 |
13 |
13.5 |
3.1 |
3.1/0.5=6.2 |
| 4 |
10.5 |
13.5 |
13.8 |
3.3 |
3.3/0.3=11 |
平均周轉時間:(2+2.8+3.1+3.3)/4=2.8
平均帶權周轉時間:(1+2.8+6.2+11)/4=5.25
(2)最高響應比優先算法
(響應比計算:=(作業在后備狀態隊列中等待時間+估計運行需要的時間)/估計運行需要的時間)
| 作業 |
進入時間 |
開始時間 |
完成時間 |
周轉時間 |
帶權周轉時間 |
| 1 |
10 |
10 |
12 |
2.0 |
2/2=1 |
| 2 |
10.2 |
12.8 |
13.8 |
3.6 |
3.6/1=3.6 |
| 3 |
10.4 |
12.3 |
12.8 |
2.4 |
2.4/0.5=4.8 |
| 4 |
10.5 |
12 |
12.3 |
1.8 |
1.8/0.3=6 |
時間12時候作業的響應比為:作業2=(1.8+1)/1=2.8,作業3=(1.6+0.5)/0.5=4.2 ; 作業4=(1.5+0.3)/0.3=6,
所以先執行作業4
時間12.3時刻作業的響應比為:作業2=(2.1+1)/1=3.1 ; 作業3=(1.9+0.5)/0.5=4.8,
所以先執行作業3
平均周轉時間:(2+3.6+2.4+1.8)/4=2
平均帶權周轉時間:(1+3.6+4.8+6)/4=3.85
(3)短作業優先算法
| 作業 |
進入時間 |
開始時間 |
完成時間 |
周轉時間 |
帶權周轉時間 |
| 1 |
10 |
10 |
12 |
2 |
2/2=1 |
| 2 |
10.2 |
12.8 |
13.8 |
3.6 |
3.6/1=3.6 |
| 3 |
10.4 |
12.3 |
12.8 |
2.4 |
2.4/0.5=4.8 |
| 4 |
10.5 |
12 |
12.3 |
1.8 |
1.8/0.3=6 |
平均周轉時間:(2+3.6+2.4+1.8)/4=2
平均帶權周轉時間:(1+3.6+4.8+6)/4=3.85
