问答题 有5个进程Pa、Pb、Pc、Pd和Pe,它们依次进入就绪队列,它们的优先级和需要的处理机时间如表2-14所示。

表2-14 进程—处理机—优先级表

进程
处理机时间
优先级
Pa
10
3
Pb
1
1
Pc
2
3
Pd
1
4
Pe
5
2
忽略进程调度等所花费的时间,请回答下列问题:
(1) 分别写出采用“先来先服务”和“非抢占式的优先数(优先数大优先级低)”调度算法选中进程执行的次序。
(2) 分别计算出上述两种算法使各进程在就绪队列中的等待时间及两种算法下的平均等待时间。
(3) 某单处理机系统中采用多道程序设计,现有10个进程存在,则处于“运行”、“阻塞”和“就绪”状态的进程数量最小和最大值分别可能是多少?

【正确答案】(1) 采用“先来先服务”调度算法时,进程调度次序是:Pa→Pb→Pc→Pd→Pe。采用“非抢占式的优先数”调度算法时,进程调度次序是:Pa→Pb→Pe→Pc→Pd
(2) 采用“先来先服务”调度算法时,各进程的等待时间如表2-15所示。采用“非抢占式的优先数”调度算法时,进程调度次序如表2-16所示。

表2-15 “先来先服务”各进程的等待时

进程
等待时间
运行时间
Pa
0
10
Pb
10
1
Pc
11
2
Pd
13
1
Pe
14
5
平均等待时间
(0+10+11+13+14)/5=9.6

表2-16 “先来先服务”各进程的等待时间

进程
等待时间
运行时间
Pa
0
10
Pb
10
1
Pc
11
2
Pd
16
1
Pe
18
5
平均等待时间
(0+10+11+16+18)/5=11
(3) 运行态:最少0个,最多1个。
阻塞态:最少0个,最多10个。
就绪态:最少0个,最多9个。
【答案解析】