设有P1、P2、P3、P4共4个进程同时依次进入就绪队列中,它们需要的处理器时间和优先级别如下所示:
进程 使用处理器时间(秒) 优先数
P1 20 3
P2 30 5
P3 10 2
P4 5 4
忽略调度所花费的时间,请回答下列问题:
(1)写出分别采用“先来先服务”和“非抢占式的优先数”调度算法选中的进程执行的次序。
(2)在上述两种算法下,分别算出每个进程在就绪队列的等待时间和平均等待时间。
解答: (1)用先来先服务的调度算法时,4个进程的调度次序是P1、P2、P3、P4。
用非抢占式的优先数调度算法时,4个进程的调度次序是P2、P4、P1、P3。
(2)用先来先服务调度算法,每个进程在就绪队列中的等待时间分别为:
P1:0秒
P2:0+20=20秒
P3:0+20+30=50秒
P4:0+20+30+10=60秒
平均等待时间为:(0+20+50+60)/4=32.5秒
用非抢占式的优先数调度算法,每个进程在就绪队列中的等待时间分别为;
P1:30+5=35秒
P2:0秒
P3:20+30+5=55秒
P4:30秒
平均等待时间为:(35+0+55+30)/4=30秒