各进程到达就绪队列的时间、运行时间和优先级如表1所示(注:优先级数值越大,优先级越高)。 问题:分别使用抢占式的最短剩余时间优先算法(SRTN)和时间片为2的时间片轮转调度算法(RR),分析进程调度情况并计算平均周转时间。 表1进程调度表 进程 到达时间 运行时间 优先数 P1 0 7 1 P2 4 1 2 P3 4 1 3 P4 5 4 2
时间: 2024-02-10 17:35:24 浏览: 25
使用抢占式的最短剩余时间优先算法(SRTN):
1. 初始状态:所有进程均未执行,就绪队列为空;
2. 当前时间为0,进程P1到达就绪队列,就绪队列为P1;
3. 进程P1执行时间片7,当前时间为7,进程P1结束;
4. 当前时间为7,进程P2和P3同时到达就绪队列,就绪队列为P2 -> P3;
5. 进程P2执行时间片1,当前时间为8,进程P2结束;
6. 当前时间为8,就绪队列为P3;
7. 进程P3执行时间片1,当前时间为9,进程P3结束;
8. 当前时间为9,进程P4到达就绪队列,就绪队列为P4;
9. 进程P4执行时间片4,当前时间为13,进程P4结束;
10. 所有进程执行完毕,计算平均周转时间:
P1周转时间 = 7 - 0 = 7
P2周转时间 = 8 - 4 = 4
P3周转时间 = 9 - 4 = 5
P4周转时间 = 13 - 5 = 8
平均周转时间 = (7 + 4 + 5 + 8) / 4 = 6
使用时间片为2的时间片轮转调度算法(RR):
1. 初始状态:所有进程均未执行,就绪队列为空;
2. 当前时间为0,进程P1到达就绪队列,就绪队列为P1;
3. 进程P1执行时间片2,当前时间为2,进程P1仍需执行时间为5,进程P1被挂起,就绪队列为P2 -> P3;
4. 进程P2执行时间片2,当前时间为4,进程P2仍需执行时间为1,进程P2结束;
5. 当前时间为4,就绪队列为P3;
6. 进程P3执行时间片2,当前时间为6,进程P3仍需执行时间为1,进程P3结束;
7. 当前时间为6,进程P4到达就绪队列,就绪队列为P4 -> P3;
8. 进程P4执行时间片2,当前时间为8,进程P4仍需执行时间为2,进程P4被挂起,就绪队列为P3;
9. 进程P3执行时间片2,当前时间为10,进程P3结束;
10. 进程P4执行时间片2,当前时间为12,进程P4结束;
11. 所有进程执行完毕,计算平均周转时间:
P1周转时间 = 7 - 0 = 7
P2周转时间 = 4 - 4 = 0
P3周转时间 = 10 - 4 = 6
P4周转时间 = 12 - 5 = 7
平均周转时间 = (7 + 0 + 6 + 7) / 4 = 5