问答题 有5个任务A,B,C,D,E,它们几乎同时到达,预计它们的运行时间为10min,6min,2min,4min,8min。其优先级分别为3,5,2,1和4,这里5为最高优先级。对于下列每一种调度算法,计算其平均进程周转时间(进程切换开销可不考虑)。
(1)先来先服务(按A,B,C,D,E)算法。
(2)优先级调度算法。
(3)时间片轮转算法。

【正确答案】(1)采用FCFS调度算法时,各任务在系统中的执行情况如下表所示:
执行次序
运行时间
优先数
等待时间
周转时间
A
10
3
0
10
B
6
5
10
16
C
2
2
16
18
D
4
1
18
22
E
8
4
22
30
所以,进程的平均周转时间为:
T=(10+16+18+22+30)/5=19.2min
(2)采用优先级调度算法时,各任务在系统中的执行情况如下表所示:
执行次序
运行时间
优先数
等待时间
周转时间
B
6
5
0
6
E
8
4
6
14
A
10
3
14
24
C
2
2
24
26
D
1
1
26
27
所以,进程的平均周转时间为:

T=(6+14+24+26+27)/5=19.4min

(3)采用时间片轮转算法时,假定时间片为2min,各任务的执行情况是:(A,B,C,D,E),(A,B,D,E),(A,B,E),(A,E),(A)。设A~E5个进程的周转时

间依次为T1~T5,显然有:

T1=30min,T2=22min,T3=6min,T4=16min,T5=28min

所以,进程的平均周转时间为:

T=(30+22+6+16+28)/5=20.4min
【答案解析】