在有一台处理机CPU和两台输入输出设备IO1和IO2 且能够实现抢先式多任务并行工作的多道程
问题详情
在有一台处理机CPU和两台输入输出设备IO1和IO2,且能够实现抢先式多任务并行工作的多道程序内,投入运行优先级由高到低的P1,P2,P3三个作业。它们使用设备的先后顺序和占用设备时间分别是:
作业P1:IO2(30毫秒)CPU(10毫秒)IO1(30毫秒)CPU(10毫秒)
作业P2:IO1(20毫秒)CPU(20毫秒)IO2(40毫秒)
作业P3:CPU(30毫秒)IO1(20毫秒)
在对于其他辅助操作时间可以忽略不计的假设下,作业P1,P2,P3从投入到完成所用的时间分别是(55)毫秒,(56)毫秒和(57)毫秒。三个作业从投入运行到全部完成,CPU的利用率约为(58)%,IO1的利用率约为(59)%。
假定在系统中仅有这三个作业投入运行,各设备的利用率是指该设备的使用时间同作业进程全部完成所占用最长时间的比率。
A.60
B.67
C.70
D.78
E.80请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:E
解析:(55)~(59)由于处理机和输入输出设备是采用抢占式多任务并行方式进行工作的,所以分析每道作业完成所需时间首先就要分析作业的优先级。优先级高的作业优先获得资源,在它不使用该类资源时,优先级低的作业才能获得该类资源的使用权。本题中可以看到IO1,IO2和CPU三类资源的使用情况如下表所示。P2在使用IO1设备20ms后,要使用CPU20ms,但当其运行至10ms时,P1完成了IO2的使用,也要使用CPU。由于P1的优先级高于P2,因此会抢占CPU,导致P2的暂停。同样,P3一开始就使用CPU,但在20ms后要让给P2。从上表我们还可以看到,P1从投入运行到结束总共需要80ms的时间,而P2,P3则需要90ms。CPU在90ms时间内有70ms在工作,所以CPU的利用率为70/90=-78%。IO1设备同样在90ms内工作了70ms,它的利用率也为78%。