题目
在单CPU系统和两台I/O设备(I1、I2)的多道程序设计环境下,同时投入3个作业J1、J2、J3运行。这3个作业对CPU和输入/输出设备的使用顺序和时间如下:[br][/br]J1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)、I2(20ms)[br][/br]J2:I1(20ms)、CPU(20ms)、I2(40ms)[br][/br]J3:CPU(30ms)、I1(20ms)、CPU(10ms)、I1(10ms)[br][/br]假定CPU和I/O设备之间、两台I/O设备之间都能并行工作,J1优先级最高,J2次之,J3优先级最低,高优先级的作业可以抢占低优先级作业的CPU,但不抢占I1和I2。试求:[br][/br]⑴ 每个作业从投入到完成分别需要的时间。[br][/br]⑵ 从作业的投入到完成,CPU的利用率。[br][/br]⑶ I/O设备的利用率。
在单CPU系统和两台I/O设备(I1、I2)的多道程序设计环境下,同时投入3个作业J1、J2、J3运行。这3个作业对CPU和输入/输出设备的使用顺序和时间如下:[br][/br]J1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)、I2(20ms)[br][/br]J2:I1(20ms)、CPU(20ms)、I2(40ms)[br][/br]J3:CPU(30ms)、I1(20ms)、CPU(10ms)、I1(10ms)[br][/br]假定CPU和I/O设备之间、两台I/O设备之间都能并行工作,J1优先级最高,J2次之,J3优先级最低,高优先级的作业可以抢占低优先级作业的CPU,但不抢占I1和I2。试求:[br][/br]⑴ 每个作业从投入到完成分别需要的时间。[br][/br]⑵ 从作业的投入到完成,CPU的利用率。[br][/br]⑶ I/O设备的利用率。
题目解答
答案
⑴ J1从投入到运行完成需要110ms; J2从投入到运行完成需要90ms; J3从投入到运行完成需要110ms。 ⑵ CPU 的利用率=80/110=72.7% ⑶ I1的利用率=80/110=72.7%; I2的利用率=90/110=81.8%
解析
步骤 1:作业执行顺序和时间
- J1: I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)、I2(20ms)
- J2: I1(20ms)、CPU(20ms)、I2(40ms)
- J3: CPU(30ms)、I1(20ms)、CPU(10ms)、I1(10ms)
步骤 2:计算每个作业的完成时间
- J1: 30ms (I2) + 10ms (CPU) + 30ms (I1) + 10ms (CPU) + 20ms (I2) = 100ms
- J2: 20ms (I1) + 20ms (CPU) + 40ms (I2) = 80ms
- J3: 30ms (CPU) + 20ms (I1) + 10ms (CPU) + 10ms (I1) = 70ms
步骤 3:计算CPU的利用率
- CPU总时间 = 10ms (J1) + 10ms (J1) + 20ms (J2) + 30ms (J3) + 10ms (J3) = 80ms
- 最大时间 = 100ms (J1)
- CPU利用率 = CPU总时间 / 最大时间 = 80ms / 100ms = 0.8 = 80%
步骤 4:计算I/O设备的利用率
- I1总时间 = 30ms (J1) + 20ms (J2) + 20ms (J3) + 10ms (J3) = 80ms
- I2总时间 = 30ms (J1) + 40ms (J2) + 20ms (J1) = 90ms
- I1利用率 = I1总时间 / 最大时间 = 80ms / 100ms = 0.8 = 80%
- I2利用率 = I2总时间 / 最大时间 = 90ms / 100ms = 0.9 = 90%
- J1: I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)、I2(20ms)
- J2: I1(20ms)、CPU(20ms)、I2(40ms)
- J3: CPU(30ms)、I1(20ms)、CPU(10ms)、I1(10ms)
步骤 2:计算每个作业的完成时间
- J1: 30ms (I2) + 10ms (CPU) + 30ms (I1) + 10ms (CPU) + 20ms (I2) = 100ms
- J2: 20ms (I1) + 20ms (CPU) + 40ms (I2) = 80ms
- J3: 30ms (CPU) + 20ms (I1) + 10ms (CPU) + 10ms (I1) = 70ms
步骤 3:计算CPU的利用率
- CPU总时间 = 10ms (J1) + 10ms (J1) + 20ms (J2) + 30ms (J3) + 10ms (J3) = 80ms
- 最大时间 = 100ms (J1)
- CPU利用率 = CPU总时间 / 最大时间 = 80ms / 100ms = 0.8 = 80%
步骤 4:计算I/O设备的利用率
- I1总时间 = 30ms (J1) + 20ms (J2) + 20ms (J3) + 10ms (J3) = 80ms
- I2总时间 = 30ms (J1) + 40ms (J2) + 20ms (J1) = 90ms
- I1利用率 = I1总时间 / 最大时间 = 80ms / 100ms = 0.8 = 80%
- I2利用率 = I2总时间 / 最大时间 = 90ms / 100ms = 0.9 = 90%