单道:(30+40+10)+(60+30+10)+(20+40+20)=260ms
多道:A计算30ms 完毕,此时cpu开始 计算B,B计算到40ms 此时A I/O *** 脊高作完毕,按照优先级继续计算A剩下的10ms,A计算最后10ms完毕,B继续计算剩下的(60-40)=20ms,B计算完毕,开始 I/O *** 作30ms, 在此过程中 C计算完毕但B在进行I/O *** 作,所旦拆以C在此时处于等待状态,B的I/O *** 作完毕进行剩下的10ms计算并计算完毕,此过程包含于C 40ms的I/O *** 作,C的40ms I/O *** 作完毕,继续进行20ms的计模野枣算。
程序执行完毕 总时间:30+40+10+20+30+40+20=190ms
首先P1计算60ms,然后I/O 80ms,在这80ms中,P2也同步开始计算,等P1的I/O运行完了,CPU停止P2的计算,转去做P1后期那20ms的携前运算,至此所花时间为60+80+20=160ms;然后CPU再去接着运算P2,40ms,然后p2I/O运行40ms,在此期间,散敏cpu去计算p3,正好也是40ms,算完之后接着算p2的后期部分,40ms,在此期间,因为p3的前40ms已经计算完成,可以进行i/o *** 作,所以同时p3的i/o也开冲隐枝始运行,运行80ms,这80ms中,前40msCPU在算P2,后40msCPU在算P3,所以是:40+40+40+80=200ms,加上前面的160,为360ms。而如果是单道运行,则时间花费为:60+80+20+120+40+40+40+80+40=520ms,相差为520-360=160ms ,选c
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)