问答题 系统中有5个进程P1,P2,P3,P4,P5如表。规定进程的优先数越小优先级越高。试描述在采用下述内种调度算法时,各个进程运行过程,并计算采用每种算法的进程平均周转时间。假设忽略进程的调度时间。
(1)先来先服务调度算法;
(2)短进程优先调度算法;
(3)抢占式优先级调度算法。
进程
到达时刻
运行时间/ms
优先数
P1
0
3
3
P2
2
6
5
P3
4
4
1
P4
6
5
2
P5
8
2
4
【正确答案】
【答案解析】(1)先来先服务调度算法运行过程如下:按到达先后P1,P2,P3,P4,P5。
进程
到达时刻
运行时间/ms
开始时间
完成时间
周转时间
P1
0
3
0
3
3
P2
2
6
3
9
7
P3
4
4
9
13
9
P4
6
5
13
18
12
P5
8
2
18
20
12
所以此算法进程的平均周转时间为:(3+7+9+12+12)/5=43/5=8.6 (2)短进程优先调度算法运行过程如下: 0时刻只有P1,所以先执行P1,3时刻只有P2,所以再执行P2,P2执行完,9时刻时,P3,P4,P5都已到达,按短进程优先,所以先执行P5,再执行P3,最后执行P4
进程
到达时刻
运行时间/ms
开始时间
完成时间
周转时间
P1
0
3
0
3
3
P2
2
6
3
9
7
P3
4
4
11
15
11
P4
6
5
15
20
14
P5
8
2
9
11
3
所以此算法进程的平均周转时间为:(3+7+11+14+3)/5=38/5=7.6 (3)抢占式优先级调度算法运行过程如下: 在0时刻只有P1,所以先执行P1,2时刻P2到达,但P2的优先级没有P1高,所以继续执行P1,3时刻P1执行完,只有P2.所以执行P2,4时刻P3到达,P3的优先级高于P2,所以执行P3,P3执行完,8时刻,P4,P5都到达,P2,P4,P5中P4的优先级最高,所以先执行P4,再执行P5,最后执行P2剩余的。