请问操作系统的一个问题,请大家帮忙!
有两个程序:A程序按顺序使用CPU10S、设备甲5S、设备乙10S、CPU10S;B程序按顺序使用设备甲10S、设备乙10S、CPU5S、设备乙10S。在顺序环境下,执行上述程序,CPU的利用率为(A),若允许它们采用非抢占方式并发执行,并不考虑切换等开销,则CPU的利用率为(B)。
A B: (1)30% (2)40% (3)50% (4)60% (5)70% (6)80% (7) 90%
请写出计算步骤,大概的也可以,谢谢!
[解决办法]
利用率=CPU利用时间/总的利用时间
所以
利用率A:(10+10+5)/(10+5+10+10+10+10+5+10)=35.71%
利用率B:(10+10+5)/(10+10+10+10)=62.5%
时间轴如下:
A:CPU 5 |甲 5|等乙5| 乙 5 | CPU 10
◇————◇——△——◇——▽——◇————◇
B:甲 10 | 乙 10 |CPU 5|等乙5| 乙 10
(◇:两个的时间都到 △:甲的时间到 ▽:乙的时间到)