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

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

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

根据题目的描述,可以画出如图6-39所示的系统运行时空图。
[*]
如何画出这个图呢其详细过程为:
首先P1进程使用R2资源30ms,所以P1的前30ms注明为R2。与此同时P2使用R1资源20ms,P3同时申请使用CPU 40ms。当P3申请使用CPU时,没有其它进程申请使用CPU,所以P3顺利得到了CPU的使用权。但我们可以看到,当系统时间到20ms时,P3失去了CPU资源,这是为什么呢因为此时P2已经使用完R1,它开始申请使用CPU了,P2的优先级比P3高,所以系统从P3手中收回CPU的使用权,把CPU分配给P2使用。当系统时间到30ms时,系统又从P2手中收回了CPU的使用权,把CPU分配给了P1使用,因为系统中P1的优先级比P2高。依次类推,便完成了系统时空图。
从图6-39中可以看出,三个进程运行完毕需要100ms,CPU工作了90ms,所以CPU的利用率为90%,R2工作了70ms,所以R2的利用率为70%。

 

正确答案: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%。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值