参考答案:
C
本题考查的是操作系统进程调度方面的知识。根据题意可知,三个任务的优先级T1>T2>T3,所有任务可以并行使用I/O设备:说明不同任务的I/O可以同时进行,进程调度过程如下图所示。分析如下:t0时刻:进程调度程序选任务T1投入运行,运行10ms,任务T1占用I/O;t1时刻:此时由于CPU空闲,进程调度程序选任务T2投入运行,运行10ms后任务T2占用I/O。此时,t1与t2时刻任务T1占用I/O,任务T2在运行。t2时刻:此时由于CPU空闲,进程调度程序选任务T3投入运行,运行3ms后,任务T1结束占用I/O。此时,t2与t3时刻任务T1、任务T2占用I/O,任务T3在运行。t3时刻:由于系统采用可剥夺式优先级的进程调度方案,所以,强行地将任务T3占用的CPU剥夺,分配给任务T1。在运行5ms后到t4时刻任务T1运行完毕。此时,t3与t4时刻任务T1在运行,任务T2等待,任务T3占用I/O。t4时刻:将CPU分配给T3运行5ms后,到t5时刻任务T2结束占用I/O,强行地将任务T3占用的CPU剥夺,任务T2开始运行。此时,t4与t5时刻任务T1结束,任务T2占用I/O,任务T3在运行。t5时刻:运行5ms后,到t6时刻任务T2运行完毕。t6时刻:系统将CPU分配给任务3,运行2ms后,到t7时刻任务T3占用I/O。t7时刻到t6时刻:共计13ms,没有待运行的任务。t8时刻:任务T3结束占用I/O,运行5ms后,到t9时刻任务T3运行结束。 从以上分析可见,这三个任务从同时启动到全部结束的总时间为58ms,CPU的空闲时间共有13ms