操作系统学习笔记——作业解答——第五章CPU调度(优先级动态老化算法)

没想到完成一道作业题就要花费两个多小时,难怪大学生的时间总是不够用。

题目:

考虑以下的一个基于优先级(优先数高优先级低)的调度算法,此算法采用根据等待时间和运行时间对优先数进行动态老化算法,具体算法如下:

  a)       处于等待队列中的进程的优先数p根据等待时间t(每毫秒计算一次)进行变化,p=p-t;

  b)       处于运行状态的进程的优先数p根据运行时间t(每毫秒计算一次)进行变化,p=p+t;

  c)       优先数p每隔1毫秒重新计算;

  d)       采用抢占式调度策略。

根据下表给出的5个进程的到达时间、执行时间回答下面的问题。(时间以毫秒为单位,当优先级相同时,先进入就绪队列的进程优先)

 

进程

执行时间

达到时间

优先级p

P1

5

0

8

P2

6

1

4

P3

3

2

6

P4

4

3

2

P5

2

4

10

(1)   请画出5个进程执行的甘特图。

(2)   根据以上的调度算法,分别计算出每个进程的周转时间和响应时间。

 

解答:

(1)甘特图        
  进程 执行时间 到达时间 优先级
  P1 5 0 8
  P2 6 1 4
  P3 3 2 6
  P4 4 3 2
  P5 2 4 10

 

时刻(ms)   0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
动态优先级 P1 8 9 8 7 6 5 4 3 2 3 2 1 0 1 0 -1 0 -1 -2    
  P2   4 5 6 5 4 3 4 3 2 1 2 1 0 -1 0 -1 -2      
  P3     6 5 4 3 4 3 2 1 2 1 0 -1              
  P4       2 3 4 3 2 3 2 1 0                  
  P5         10 9 8 7 6 5 4 3 2 1 0 -1 -2 -1 -2 -3  
开始运行进程   P1 P2 P2 P4 P4 P3 P2 P4 P1 P3 P2 P4 P1 P3 P2 P1 P5 P2 P1 P5  
结束运行进程     P1 P2 P2 P4 P4 P3 P2 P4 P1 P3 P2 P4 P1 P3 P2 P1 P5 P2 P1 P5
进程是否等待 P1   Y Y Y Y Y Y Y   Y Y Y   Y Y   Y Y      
  P2       Y Y Y   Y Y Y   Y Y Y   Y          
  P3     Y Y Y   Y Y Y   Y Y Y                
  P4           Y Y   Y Y Y                    
  P5         Y Y Y Y Y Y Y Y Y Y Y Y   Y Y    

 

(2)周转时间         响应时间  
  P1 19-0=19 ms   P1 0-0=0 ms
  P2 18-1=17 ms   P2 1-1=0 ms
  P3 14-2=12 ms   P3 5-2=3 ms
  P4 12-3=9 ms     P4 3-3=0 ms
  P5 20-4=16 ms   P5 16-4=12 ms

你可能感兴趣的:(操作系统学习笔记——作业解答——第五章CPU调度(优先级动态老化算法))