题目
一个多道批处理系统中,仅有P1和P2两个作业,P2比P1晚5ms到达,它的计算和I/O操作顺序如下: P1:计算60ms,I/O 80ms,计算20ms P2:计算120ms,I/O 40ms,计算40ms 如果不考虑调度和切换时间,则完成两个作业需要的时间最少是()A. 240msB. 260msC. 340msD. 360ms
一个多道批处理系统中,仅有P1和P2两个作业,P2比P1晚5ms到达,它的计算和I/O操作顺序如下: P1:计算60ms,I/O 80ms,计算20ms P2:计算120ms,I/O 40ms,计算40ms 如果不考虑调度和切换时间,则完成两个作业需要的时间最少是()
A. 240ms
B. 260ms
C. 340ms
D. 360ms
题目解答
答案
B. 260ms
解析
考查要点:本题考察多道批处理系统中的作业调度优化,重点在于如何利用I/O操作的空闲时间安排其他作业的计算,从而缩短总完成时间。
解题核心思路:
- 关键点在于分析两个作业的执行阶段(计算和I/O),找出它们的I/O重叠机会,减少CPU空闲时间。
- 核心思路是让作业在另一个作业的I/O阶段尽可能执行计算,从而缩短总时间。
- 注意P2比P1晚5ms到达,需合理安排两者的执行顺序,避免不必要的等待。
作业执行时间线分析
P1的执行阶段
- 计算60ms(0ms~60ms)
- I/O 80ms(60ms~140ms)
- 计算20ms(需等待CPU空闲)
P2的执行阶段
- 到达时间:5ms
- 计算120ms(需等待CPU空闲)
- I/O 40ms
- 计算40ms
调度过程
- 0ms~60ms:P1执行第一个计算阶段,P2尚未到达,无法执行。
- 60ms:P1进入I/O阶段(60ms~140ms),此时P2已到达5ms,但需等待CPU空闲。
- 60ms~180ms:P2开始计算120ms(占用CPU),P1的I/O阶段继续进行。
- 140ms:P1完成I/O,需执行最后一个计算20ms,但此时P2仍在计算(至180ms)。
- 180ms~220ms:P2完成计算,进入I/O40ms。
- 180ms~200ms:P1开始最后一个计算20ms(CPU空闲)。
- 220ms~260ms:P2完成I/O,执行最后一个计算40ms。
总时间计算
- 关键路径:P2的最后一个计算阶段结束时间为260ms,P1的最后一个计算阶段在200ms完成,因此总时间为260ms。