问题 问答题

在操作系统中引入并发可以提高系统效率。若有两个程序A和B,A程序执行时所做的工作按次序需要用CPU10s,设备一5s,CPU5s,设备二10s,CPU10s;程序B执行时所做的工作按次序需要用设备一10s,CPU10s,设备二5s,CPU5s,设备二10s。
请计算:

如果在并发环境下执行两个程序,则CPU的利用率又为多少

答案

参考答案:如果在并发环境下运行,则程序A使用CPU时,程序B可以使用设备来进行输入输出,而程序A使用设备时,B可以使用CPU。如果A、B同时加载到系统,则运行情况如下:
1)前10s:A使用CPU,B使用设备。
2)接下来5s:A使用设备,B使用CPU。
3)接下来5s:A等待,B使用CPU。
4)接下来5s:A使用CPU,B使用设备。
5)接下来5s:A使用设备,B使用CPU。
6)接下来5s:A、B均使用设备。
7)接下来5s:A使用CPU,B使用设备,并在此时间段结束运行。
8)接下来5s:A使用CPU。
这样A、B总计在系统中的逗留时间为45s,即总执行时间为45s。其中CPU被使用的时间为40s,CPU利用率为40/45=88.89%。由此可见,并发后CPU利用率大为增加。

单项选择题
单项选择题