问答题 有5个进程Pa、Pb、Pc、Pd和Pe,它们依次进入就绪队列,它们的优先级和需要的处理器时间见下表。
进程的优先级和需要的处理器时间
进程 需要的处理器时间/s 优先级
Pa 10 3
Pb 1 1
Pc 2 3
Pd 1 4
Pe 5 2
忽略进程调度等所花费的时间,请回答下列问题。
(1)分别写出采用先来先服务和非抢占式的优先数(数字大的优先级低)调度算法中进程执行的次序。
(2)分别计算出上述两种算法使各进程在就绪队列中的等待时间及两种算法下的平均等待时间。
(3)某单处理器系统中采用多道程序设计,现有10个进程存在,则处于执行、阻塞和就绪状态的进程数量的最小值和最大值分别可能是多少?
【正确答案】这里需要提醒大家一点,有些题中对于进程到达的说法是“初始时刻依次进入”,通常这种或其类似说法的含义是指如果按照先来先服务算法,则视作进程依次到达;如果按照优先级算法,则视作进程同时到达,按照优先级执行。要注意与本题的区别。{{/U}}
(1)采用先来先服务调度算法时,进程调度次序是:Pa→Pb→Pc→Pd→Pe。
采用非抢占式的优先数调度算法时,进程调度次序是:Pa→Pb→Pe→Pc→Pd。
当采用优先级调度算法时,由于Pa到达时,还没有其他进程到达,因此选择Pa开始执行,注意与“初始时刻依次进入”的区别。
(2)采用先来先服务调度算法和非抢占式的优先数调度算法时,进程的调度次序见下表。
采用不同调度算法时进程的调度次序
先来先服务调度算法 非抢占式的优先数调度算法
进程 等待时间/s 运行时间/s 进程 等待时间/s 运行时间/s
Pa 0 10 Pa 0 10
Pb l0 1 Pb 10 1
Pc 11 2 Pe 11 5
Pd 13 1 Pc 16 2
Pe 14 5 Pd 18 1
平均等待时间 (0+10+11+13+14)s/5=9.6s 平均等待时间 (0+10+11+16+18)s/5=11s
(3)执行状态:最少0个,最多1个。
阻塞状态:最少0个,最多10个。
就绪状态:最少0个,最多9个。
【答案解析】