问答题 在单CPU和两台输入/输出设备(I 1 ,I 2 )的多道程序设计环境下,同时投入三个作业Job 1 ,Job 2 ,Job 3 运行。这三个作业对CPU和输入/输出设备的使用顺序和时间如下所示:
Job 1 :I 2 (30ms);CPU(10ms);I 1 (30ms);CPU(10ms);I 2 (20ms)
Job 2 :I 1 (20ms);CPU(20ms);I 2 (40ms)
Job 3 :CPU(30ms);I 1 (20ms);CPU(10ms);I 1 (10ms)
假定CPU,I 1 ,I 2 都能并行工作,Job 1 优先级最高,Job 2 次之,Job 3 优先级最低,优先级高的作业可以抢占优先级低的作业的CPU,但不抢占I 1 和I 2 。试求:
(1)三个作业从投入到完成分别需要的时间。
(2)从投入到完成的CPU利用率。
(3)I/O设备利用率。
【正确答案】
【答案解析】三个作业并发执行时的工作情况如下:
Job 1 的执行顺序为:I 2 (30ms);CPU(10ms);I 1 (30ms);CPU(10ms);等待I 2 (10ms);I 2 (20ms)。
Job 2 的执行顺序为:I 1 (20ms);CPU(10ms);等待CPU(10ms);CPU(10ms);I 2 (40ms);
Job 3 的执行顺序为:CPU(20ms);等待CPU(30ms);CPU(10ms);等待I 1 (10ms);I 1 (20ms);CPU(10ms);I 1 (10ms)。
(1)Job 1 从投入到运行完成需要110ms,Job 2 从投入到运行完成需要90ms,Job 3 从投入到运行完成需要110ms。
(2)CPU在时间段60~70ms,80~90ms,100~110ms期间空闲,所以CPU的利用率为:(110-30)/110=72.7%。
(3)设备I 1 在时间段20~40ms,90~100ms期间空闲,所以设备I 1 的利用率为:(110-30)/110=72.7%;
设备I 2 在时间段30~50ms期间空闲,所以设备I 2 的利用率为:(110-20)/110=81.8%。