问题 单项选择题

在一个单CPU的计算机系统中,采用可剥夺式优先级的进程调度方案,所有任务可以并行使用I/O设置。表8-2列出了3个任务T1、T2、T3的优先级、独立运行时占用CPU和I/O设备的时间,如果操作系统的开销忽略不计,这3个任务从同时启动到全部结束的总时间为 (1) ms,CPU的空闲时间共有 (2) ms。

表8-2 任务的优先级,使用设备的先后顺序和占用设备时间情况表

任务优先级每个任务独立运行时所需的时间
T1对每个傻:占用CPU 5ms,再占用CPU 2ms
T2
T3

A.3

B.4

C.5

D.6

答案

参考答案:D

解析:[要点解析] 多道系统中的3个任务(T1、T2、T3)都竞争使用CPU,但可并行使用I/O设备。由于本试题为了突出进程对CPU和I/O设备的使用,弱化了作业调度的处理。因此题目中已假设这3个任务都已经装入主存,从这一点看,降低了本题的分析难度。各个任务运行的分析过程如图8-2所示。图中水平粗实线表示某任务实际执行过程所占用的CPU或I/O设备的时间。
[*]
对图8-2分析如下:
①由于这3个任务的优先级是T1>T2>T3,因此进程调度程序先选中任务T1投入运行。任务T1运行5ms之后进行I/O操作,并将CPU使用权转让给任务T2。
②同理,进程调度程序选中任务T2投入运行5ms之后,任务T2将进行8ms的I/O操作。
③此时CPU空闲,进程调度程序将选中任务T3投入运行,运行3ms后刚好任务T1也完成了8ms的I/O操作。由于系统采用可剥夺式优先级的进程调度方案,因此进程调度程序强行地将任务T3占用的CPU使用权剥夺,并分配给任务T1。
④任务T1占用CPU2ms后运行完毕,此时任务T2才完成5ms的I/O操作,因此进程调度程序将CPU使用权分配给任务T3。
⑤任务T3占用CPU2ms后将进入8ms的I/O操作。而此时任务T2才完成7ms的:I/O操作,系统中也没有其他待运行的任务,因此CPU将空闲1ms。
⑥任务T2 I/O操作结束,进程调度程序将CPU使用权分配给它。任务T2占用CPU 2ms后运行完毕。而此时任务T3才完成3ms的I/O操作,系统中也没有其他待运行的任务,因此CPU将空闲5ms。
⑦任务T3的8ms I/O操作任务完成后,进程调度程序将CPU使用权分配给它。任务T3占用CPU 2ms后运行完毕。
如果操作系统的开销忽略不计,设这3个任务从同时启动到全部结束的总时间为t1,则
t1=(5+8+2+2+8+2)ms=27ms
设CPU的空闲时间为t2,仔细分析任务运行示意图可知,t2=(1+5)ms=6ms。

判断题
单项选择题