操作系統——處理機調度——調度算法應用舉例


習題:在兩道環境下有四個作業, 已知它們進入系統的時間、估計運行時間,系統采用短作業優先作業調度算法,作業被調度運行后不再退出, 當一新作業投入運行后,可按照作業運行時間長短調整作業執行的次序

請給出這四個作業的執行時間序列,並計算出平均周轉時間及帶權平均周轉時間

作業

進入時間

估計運行時間(分鍾)

JOB1

10:00

30

JOB2

10:05

20

JOB3

10:10

5

JOB4

10:20

10

 

答:最短作業優先算法執行分析過程:

1000JOB1進入,只有一作業,JOB1被調入執行, 1005JOB2到達,最多允許兩作業同時進入,所以JOB2也被調入;但是內存中有兩作業,哪一個執行?題目規定當一新作業運行后,可按作業運行時間長短調整執行次序。即基於優先數可搶占式調度策略,優先數是根據作業估計運行時間大小來決定的,由於JOB2運行時間(20分)比JOB1少(到1005JOB1還需25分鍾),所以JOB2運行,而JOB1等待;

1010JOB3到達輸入井,內存已有兩作業, JOB3不能馬上進入內存; 1020JOB4也不能進入內存, 1025JOB2運行結束,退出,內存中剩下JOB1,輸入井中有兩作業JOB3JOB4,如何調度?

作業調度算法:最短作業優先,因此JOB3進入內存,比較JOB1JOB3運行時間, JOB3運行時間短,故JOB3運行,同樣,JOB3退出后,下一個是JOB4JOB4結束后,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)非搶占式的優先級調度算法(優先級高低按15算)

進程

進入時間

開始時間

完成時間

等待時間

周轉時間

帶權周轉時間

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM