问答题 有A、B两个程序,程序A按顺序使用CPU为10s,使用设备甲为5s,使用CPU为5s,使用设备乙为5s,最后使用CPU为10s。程序B按顺序使用设备甲为10s、使用CPU为10s,使用设备乙为5s,再使用CPU为5s,使用设备乙为10s,试问: (1)在顺序环境下执行程序A和程序B,CPU的利用率是多少? (2)在多道程序环境下,CPU的利用率是多少?
【正确答案】此题考查学生对并发程序概念的理解。
(1)程序A和程序B顺序执行时,程序A执行完毕程序B才开始执行。两个程序共耗时75s,其中占用CPU的时间为40s,因此顺序执行时CPU的利用率为40÷75=53%。
(2)在多道程序环境下,两个程序并发执行,其执行情况如下表所示。
由表中数据可以看出,两个程序共耗时40s,其中CPU运行时间为40s,故此时CPU的利用率为40/40=100%。
在多道程序环境下程序A、B的执行情况
{{B}}在多道程序环境下程序A、B的执行情况{{/B}}
CPU 程序A(10s) 程序B(10s) 程序A(5s) 程序B(5s) 设备A(10s)
程序A CPU 设备甲+等待 CPU 设备乙 CPU
程序B 设备甲 CPU 设备乙 CPU 设备
【答案解析】