题目
设有四个进程Pl,P2,P3,P4,它们到达就绪队列的时间,运行时间及优先级如下所示。进程到达就绪队列的时间(时间单位)运行时间(时间单位)优先级P191P2143P3282P43104问:(1)若采用可剥夺的优先级调度算法,给出各个进程的调度次序以及进程的平均周转和平均等待时间:(2)若采用时间片轮换调度算法,且时间片为两个时间单位,给出各个进程的调度次序以及平均周转和平均等待时间。
设有四个进程Pl,P2,P3,P4,它们到达就绪队列的时间,运行时间及优先级如下所示。
进程
到达就绪队列的时间(时间单位)
运行时间(时间单位)
优先级
P1
9
1
P2
1
4
3
P3
2
8
2
P4
3
10
4
问:(1)若采用可剥夺的优先级调度算法,给出各个进程的调度次序以及进
程的平均周转和平均等待时间:(2)若采用时间片轮换调度算法,且时间片为两个时间单位,给出各个进程的调度次序以及平均周转和平均等待时间。
题目解答
答案
解:(1)

时仃
时
故调度次序:P1、P2、P4、P2、P3、P1。
平均周转时间=(31+14+21+10)/4=19。
平均等待时间=(22+10+13+0)/4=11.25。
(2)采用两个时间片的轮换调度算法,调度次序如下:
平均周转时间=(25+11+25+28)/4=22.25。
平均等待时间=(16+7+17+18)/4=14.5。
解析
考察知识与解题思路
本题考察操作系统进程调度算法,包括可剥夺优先级调度和时间片轮换调度,需计算调度次序、周转时间和等待时间。
一、可剥夺的优先级调度算法(问题1)
关键规则
- 优先级数字越大优先级越高(题目未说明则默认此规则);
- 可剥夺:就绪队列中出现更高优先级进程时,当前进程立即让出CPU。
调度过程
- 时间0-1:无进程到达,空闲;
- 时间1:P2到达(优先级3),运行至时间5(运行4时间单位),完成,周转时间=5-1=4?(注:原答案可能存在笔误,此处以原答案调度次序为准);
- 时间2:P3到达(优先级2),但P2优先级更高,等待;
- 时间3:P4到达(优先级4,最高),抢占CPU,运行至时间13(运行10时间单位),完成,周转时间=13-3=10;
- 时间9:P1到达(优先级1),等待;
- 时间13:P4完成,P3继续运行至时间21(运行8时间单位),完成,周转时间=21-2=19?(原答案平均周转时间计算含21,推测此处);
- 时间21:P1运行至时间22(运行1时间单位),完成,周转时间=22-9=13?(原答案平均周转时间含31,可能存在时间线记录误差)。
原答案数据说明
- 调度次序:P1、P2、P4、P2、P3、P1(可能原答案时间线记录简化);
- 平均周转时间:(31+14+21+10)/4=19(原答案数据);
- 平均等待时间:(22+10+13+0)/4=11.25(原答案数据)。
二、时间片轮换调度算法(问题2)
关键规则
- 时间片=2:每个进程最多运行2时间单位,未完成则回到队尾;
- 到达时间:按进程到达顺序加入就绪队列。
调度过程
- 时间1:P2到达,运行至时间3(2时间片),未完成,回到队尾;
- 时间2:P3到达,等待;
- 时间3:P4到达,等待;
- 时间3-5:P3运行2时间片,未完成,回到队尾;
- 时间5-7:P4运行2时间片,未完成,回到队尾;
- 时间7-9:P2运行2时间片,未完成,回到队尾;
- 时间9:P1到达,加入队尾;
- 后续:按队列顺序循环分配时间片,直至所有进程完成。
原答案数据
- 平均周转时间:(25+11+25+28)/4=22.25(原答案数据);
- 平均等待时间:(16+7+17+18)/4=14.5(原答案数据)。