cpu和io进程调度时间

【题目】

在一个单CPU的计算机系统中,有两台外部设备R1、R2和三个进程P1、P2、P3。系统采用可剥夺式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级、使用设备的先后顺序和占用设备时间如下表所示:

假设操作系统的开销忽略不计,三个进程从投入运行到全部完成,CPU的利用率约为()%;R2的利用率约为()%(设备的利用率指该设备的使用时间与进程组全部完成所占用时间的比率)。

 
正确答案:90% 70% 
解析:由于使用处理机和输入输出设备时采取可剥夺式多任务并行工作方式,所以在分析每个进程都需要多长时间完成时,可以采用优先级高的进程先分析的方法。高优先级的进程有优先获取资源的权利,因而最高优先级的进程P1发出申请设备的请求会立即得到响应,各设备占用时间为:
  
在P1占用设备的基础上,P2可以在剩下的进程中优先得到资源:
  
在P1、P2占用设备的基础上,P3可以在剩下的空闲时间中占用资源;
  
 从图可以看出P2在使用R1设备20ms后,要使用CPU30ms,但当其运行10ms后, P1要使用CPU,由于系统采用可剥夺方式调度,P1优先级高,所以将P2暂停,让P1先运行。同理,P3开始就使用CPU,但在运行20ms后,要让给高优先级的进程P2和 P1。P1从投入运行到完成需要80ms,而P2、P3由于等待资源,运行时间都延长为100ms。 CPU在90ms~100ms共10ms时间内没有利用,所以利用率为90/100=90%,同样计算得R2的利用率为70/100=70%,R1的利用率为60%。

【参考】

http://blog.csdn.net/canaan_cs/article/details/26516481