问答题 假定要在一台处理机上执行下列作业:
作业
执行时间
优先级
1
10
3
2
1
1
3
2
3
4
1
4
5
5
2
且假定这些作业在时刻0以1,2,3,4,5的顺序到达。说明分别使用FCFS、RR(时间片=1)、SJF以及非剥夺式优先级调度算法时,这些作业的执行情况。针对上述每种调度算法,给出平均周转时间和平均带权周转时间。

【正确答案】采用FCFS的调度算法时,各作业在系统中的执行情况如下表所示:
作业执行次序
执行时间
优先级
等待时间
周转时间
带权周转时间
1
10
3
0
10
1
2
1
1
10
11
11
3
2
3
11
13
6.5
4
1
4
13
14
14
5
5
2
14
19
3.8
系统中作业的平均周转时间为:
T=(10+11+13+14+19)/5=13.4
系统中作业的平均带权周转时间为:
W=(1+11+6.5+14+3.8)/5=7.26
采用RR(时间片=1)时,各作业在系统中的执行情况为:
(1,2,3,4,5),(1,3,5),(1,5,1,5,1,5),(1,1,1,1,1)
假设作业1~5的周转时间分别为T1~T5,显然有:T1=19,T2=2,T3=7,T4=4,T5=14。系统中作业的平均周转时间为:
T=(19+2+7+4+14)/5=9.2
假设作业1~5的带权周转时间分别为W1~W5,那么有:W1=19/10=1.9,W2=2/1=2,W3=7/2=3.5,W4=4/1=4,W5=14/5=2.84。系统中作业的带权平均周转时间为:
W=(1.9+2+3.5+4+2.8)/5=2.84
采用SJF算法时,各作业在系统中的执行情况如下表所示:
作业执行次序
执行时间
优先级
等待时间
周转时间
带权周转时间
2
1
1
0
1
1
4
1
4
1
2
2
3
2
3
2
4
2
5
5
2
4
9
1.8
1
10
3
9
19
1.9
系统中作业的平均周转时间为:
T=(1+2+4+9+19)/5=7.0
系统中作业的平均带权周转时间为:
W=(1+2+2+1.8+1.9)/5=1.74
采用非剥夺的优先级调度算法时,各作业在系统中的执行情况如下表所示(假设优先数越小优先级越高):
作业执行次序
执行时间
优先级
等待时间
周转时间
带权周转时间
2
1
1
0
1
1
5
5
2
1
6
1.2
1
10
3
6
16
1.6
3
2
3
16
18
9
4
1
4
18
19
19
系统中作业的平均周转时间为:
T=(1+6+16+17+19)/5=12.0
系统中作业的带权平均周转时间为:
W=(1+1.2+1.6+9+19)/5=6.36
【答案解析】