在一个单CPU的计算机系统中,有3台不同的外部设备R1、R2、R3和3个进程P1、P2、P3。系统 CPU调度采用可剥夺式优先级的进程调度方案,3个进程的优先级、使用设备的先后顺序和占用设备时间如表6-1所示。
表6-1 进程的优先级、使用设备的先后顺序和占用设备时间表进 程优先级使用设备、CPU的先后顺序和占用时间 P1 高 R1(20ms)→CPU(20ms)→R3(20ms) P2 中 R3(40ms)→CPU(30ms)→R2(20ms) P3 低 CPU(30ms)→R2(20ms)→CUP(20ms) 假设操作系统的开销忽略不计,从3个进程同时投入运行到全部完成,设备R1的利用率约为 。其中,设备的利用率是指该设备的使用时间与进程组全部完成所占用时间的比率。
A.66%
B.50%
C.25%
D.17%
参考答案:D
解析:[要点解析] 在多道系统中的3个任务(P1、P2和P3)是竞争使用CPU,但可并行使用I/O设备(R1、R2和R3)。各个任务运行的分析过程如图6-10所示。图中水平粗实线表示某进程实际执行过程所占用的CPU或I/O设备的时间。
对图6-10分析如下。
1)t0~t1时段(20ms):结合表6-1中3个进程使用设备的先后顺序,因此进程调度程序先选中进程 P3占用CPU的使用权,进程P1占用R1设备使用权,进程P2占用R3设备使用权。
2)t1~t2时段(20ms):由于进程的优先级P1>P3且系统CPU调度采用可剥夺式优先级的进程调度方案,CPU使用权在这一进段将转让给进程P1,进程P1占用CPU的使用权20ms,进程P2继续占用R3设备20ms,进程P3因CPU使用权被剥夺而处于就绪状态。
3)t2~t3时段(20ms):进程P1占用CPU使用权终止后,进入占用R3设备的时段。由于进程的优先级P2>P3,进程P2使用完R3设备后,进入占用CPU的使用权时段。进程P3仍处于就绪状态。
4)t3~t4时段(10ms):进程P1在t3时刻运行完毕。进程P2继续占用CPU的使用权。进程P3仍处于就绪状态。
5)t4~t5时段(10ms):进程P2占用CPU使用权终止后,进入占用R2设备的时段。进程调度程序重新调度进程P3占用CPU的使用权。
6)t5~t6时段(10ms):进程P3占用CPU使用权终止后,进入占用R2设备的时段。由于I/O设备R2可被进程并行使用,因此进程P2、P3在这一时段将并行占用R2设备。系统中也没有其他待运行的进程,此时段CPU将处于空闲状态。
7)t6~t7时段(10ms):进程P2在t6时刻运行完毕。进程P3继续占用R2设备。此时段CPU仍处于空闲状态。
8)t7~t8时段(20ms):进程P3的I/O操作任务完成后,进程调度程序将CPU使用权分配给它。进程P3占用CPU 20ms后运行完毕。
假设操作系统的开销忽略不计,从3个进程同时投入运行到全部完成,CPU的利用率约为
×100%=
×100%≈83.33%。
由于设备的利用率是指该设备的使用时间与进程组全部完成所占用时间的比率,因此设备R1的利用率约为
×100%=
×100%≈16.67%。
同理可得,设备R2的利用率约为
×100%=
×100%=25%。
设备R3的利用率约为
×100%=
×100%=50%。