【正确答案】若采用单道方式运行这3道程序,则运行次序为A、B、C。即程序A先进行30ms的计算,再完成40ms的I/0操作,最后再进行10ms的计算;接下来程序B先进行60ms的计算,再完成30ms的I/O操作,最后再进行10ms的计算;然后程序C先进行20ms的计算,再完成40ms的I/O操作,最后再进行20ms的计算。至此,3道程序全部运行完毕。
若采用多道方式运行这3道程序,因系统按照A、B、C的优先次序执行,则在运行过程中,无论使用CPU还是I/O设备,A的优先级最高,B的优先级次之,C的优先级最低。即程序A先进行30ms的计算,再完成40ms的I/O操作(与此同时,程序B进行40ms的计算),最后再进行10ms的计算(此时程序B等待,程序B的第一次计算已经完成40ms,还剩余20ms);接下来程序B先进行剩余20ms的计算,再完成30ms的I/O操作(与此同时,程序C进行20ms的计算,然后等待I/O设备),最后再进行10ms的计算(此时程序C执行I/O操作10ms,其I/O操作还需30ms);然后程序C先进行30ms的I/O操作,最后再进行20ms的计算。至此,3道程序全部运行完毕。
单道方式运行时,其程序运行时间关系图如图所示,总运行时间如下:
(30+40+10+60+30+10+20+40+20)ms=260ms
[*]
多道方式运行时,其程序运行时间关系图如图所示,总运行时间如下:
(30+40+10+20+30+10+30+20)ms=190ms
[*]