综合应用题:有两个程序,程序A依次使用CPU计10s,使用设备甲5s, 使用CPU计5s,使用设备乙计10s,使用CPU计10s。程序B依次使用设备甲计10s,使用CPU计10s,使用设备乙计5s,使用CPU计5s,使用设备乙计10s。在单道程序环境下先执行程序A再执行程序B,计算CPU的利率是多少?在多道程序环境下,CPU的利用率是多少?
解:
单道程序环境下:
CPU共使用:10S + 5S + 10S + 10S + 5S = 40S
总时间:(10 + 5 + 5 + 10 + 10 + 10 + 10 + 5 + 5 + 10) S=80S
利用率:(40 / 80) * 100% = 50%
多道程序环境下:
0~10,程序A使用CPU10S,同时程序B在使用设备甲
10~20,A在使用设备甲5S,同时B使用CPU10S(A等待了5S)
20~25,A使用CPU5S,B在使用设备乙5S
25~30,B使用CPU5S,A进行使用设备乙5S(A还没有用完)
30~35,A还在使用设备乙5S,这个时候B只能等着(CPU空闲中!)
35~45,A使用CPU10S,B使用设备乙10S
以上CPU有效时间是40S,共运行时间是45S
利用率:(40 / 45) * 100% = 88.9%