在一个单CPU的计算机系统中,采用按优先级抢占的进程调度方案,且所有任务可以并行使用I/O设备。现在有三个任务T1、T2和T3,其优先级分别为高、中、低,每个任务需要先占用CPU 10ms,然后再使用I/O设备13ms,最后还需要再占用CPU 5ms。如果操作系统的开销忽略不计,这三个任务从开始到全部结束所用的总时间为()ms

  • A61
  • B84
  • C58
  • D48
参考答案: 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 >>>立即刷题