🏷️ 知识点:调度指标
设有 3 个作业,它们的到达时间和运行时间如下表所示,并在一台处理机上按单道方式运行。如按高响应比优先算法,则作业执行的次序和平均周转时间依次为( )。
A. J1,J2,J3、1.73 B. J1,J3,J2、1.83 C. J1,J3,J2、2.08 D. J1,J2,J3、1.83
[tag_link]
正确答案:B
首先,作业 1 在 8:00 提交并立即运行。
由于高响应比优先算法是非抢占式的,作业 1 运行 2 小时至 10:00 完成。 此时作业 2 和作业 3 均已到达,需计算响应比以决定下一个作业。 响应比公式为
在 10:00 时:
- 作业 2 的等待时间为 1.5 小时(10:00 - 8:30),运行时间 1 小时,响应比为
- 作业 3 的等待时间为 0.5 小时(10:00 - 9:30),运行时间 0.25 小时,响应比为
作业 3 响应比更高,因此先运行作业 3。 >
作业 3 运行 0.25 小时至 10:15 完成,随后运行作业 2。 > 作业 2 运行 1 小时至 11:15 完成。 > 因此执行次序为 J1、J3、J2。 >
计算周转时间:
- 作业 1 完成时间 10:00,提交时间 8:00,周转时间为 2 小时; >
- 作业 2 完成时间 11:15,提交时间 8:30,周转时间为 2.75 小时(11:15 - 8:30 = 2 小时 45 分钟); >
- 作业 3 完成时间 10:15,提交时间 9:30,周转时间为 0.75 小时(45 分钟)。 >
平均周转时间为
选项 B 与此结果一致。 >
进程 P1、P2 和 P3 进入就绪队列的的时刻,优先值(越大优先权越高)以及 CPU 的执行时间如下表所示。
| 进程名 | 进入就绪队列的时刻 | 优先级 | CPU 执行时间 |
|---|---|---|---|
| P1 | 0 ms | 1 | 60 ms |
| P2 | 20 ms | 10 | 42 ms |
| P3 | 30 ms | 100 | 13 ms |
系统采用基于优先权的抢占式 CPU 调度算法,从 0ms 时刻开始进行调度,则 P1、P2 和 P3 的平均周转时间为( )。
A. 60 ms B. 61 ms C. 70 ms D. 71 ms
[tag_link]
正确答案:B
具体的调度表如下图所示。周转时间 = 完成时间 - 到达时间,进程 1 的周转时间为115ms-0ms=115ms,进程 2 的周转时间为 75ms-20ms=55ms,进程 3 的周转时间为 43ms-30ms=13ms。平均周转时间为 (115+55+13)/3=61ms。所以该题的答案为 B 选项。
(7 分)系统有 5 个进程,其就绪时刻(指在该时刻已进入就绪队列)、服务时间如下表所示。分别计算采用先来先服务、短作业优先、高响应比优先的平均周转时间和带权周转时间。
[tag_link]
**【答案】** 先来先服务:平均周转时间 8.6,平均带权周转时间 2.56 短作业优先:平均周转时间 7.6,平均带权周转时间 1.84 高响应比优先:平均周转时间 8.0,平均带权周转时间 2.14
**【解析】** (1) 采用先来先服务调度时,执行作业的次序为 P₁、P₂、P₃、P₄、P₅,如下表所示。
| 作业号 | 就绪时刻 | 服务时间 | 等待时间 | 开始时刻 | 结束时刻 | 周期时间 | 带权周转时间 |
|---|---|---|---|---|---|---|---|
| P₁ | 0 | 3 | 0 | 0 | 3 | 3 | 3/3=1.0 |
| P₂ | 2 | 6 | 1 | 3 | 9 | 7 | 7/6=1.17 |
| P₃ | 4 | 4 | 5 | 9 | 13 | 9 | 9/4=2.25 |
| P₄ | 6 | 5 | 7 | 13 | 18 | 12 | 12/5=2.4 |
| P₅ | 8 | 2 | 10 | 18 | 20 | 12 | 12/2=6.0 |
| 平均 | 8.6 | 2.56 |
(2) 采用短作业优先调度时,执行作业的次序为 P₁、P₂、P₅、P₃、P₄,如下表所示。
| 作业号 | 就绪时刻 | 服务时间 | 等待时间 | 开始时刻 | 结束时刻 | 周期时间 | 带权周转时间 |
|---|---|---|---|---|---|---|---|
| P₁ | 0 | 3 | 0 | 0 | 3 | 3 | 3/3=1.0 |
| P₂ | 2 | 6 | 1 | 3 | 9 | 7 | 7/6=1.17 |
| P₅ | 8 | 2 | 1 | 9 | 11 | 3 | 3/2=1.5 |
| P₃ | 4 | 4 | 7 | 11 | 15 | 11 | 11/4=2.75 |
| P₄ | 6 | 5 | 9 | 15 | 20 | 14 | 14/5=2.8 |
| 平均 | 7.6 | 1.84 |
(3) 采用高响应比优先调度时,响应比 = (等待时间 + 服务时间) / 运行时间。在时刻 0,只有进程 P₁ 就绪,执行 P₁,在时刻 3 结束。此时只有 P₂ 就绪,执行 P₂,在时刻 9 结束。此时 P₃、P₄、P₅ 均就绪,计算它们的响应比分别为 2.25、1.6、1.5,则选择执行 P₃,在时刻 13 结束。此时 P₄、P₅ 均就绪,计算它们的响应比分别为 2.4、3.5,则选择执行 P₅,在时刻 15 结束。此时只有 P₄ 就绪,执行 P₄,在时刻 20 结束。整个执行作业的次序为 P₁、P₂、P₃、P₅、P₄,如下���所示。
| 作业号 | 就绪时刻 | 服务时间 | 等待时间 | 开始时刻 | 结束时刻 | 周期时间 | 带权周转时间 |
|---|---|---|---|---|---|---|---|
| P₁ | 0 | 3 | 0 | 0 | 3 | 3 | 3/3=1.0 |
| P₂ | 2 | 6 | 1 | 3 | 9 | 7 | 7/6=1.17 |
| P₃ | 4 | 4 | 5 | 9 | 13 | 9 | 9/4=2.25 |
| P₅ | 8 | 2 | 5 | 13 | 15 | 7 | 7/2=3.5 |
| P₄ | 6 | 5 | 9 | 15 | 20 | 14 | 14/5=2.8 |
| 平均 | 8.0 | 2.14 |