编辑: 施信荣 | 2015-10-02 |
5 在单 CPU 和两台 I/O(I1,I2)设备的多道程序设计环境下, 同时投入三个作业运行. 它 们的执行轨迹如下: Job1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms) Job2:I1(20ms)、CPU(20ms)、I2(40ms) Job3:CPU(30ms)、I1(20ms) 如果 CPU、I1 和I2 都能并行工作,优先级从高到低为 Job
1、Job2 和Job3,优先级高的 作业可以抢占优先级低的作业的 CPU.试求:(1)每个作业从投入到完成分别所需的时 间.(2) 每个作业投入到完成 CPU 的利用率.(3)I/O 设备利用率. 答:画出三个作业并行工作图如下(图中着色部分为作业等待时间): CPU I1 I2 Job1 Job2 Job3 时间 (ms) CPU CPU
0 10
20 30
40 50
60 70
80 90
100 110 CPU I1 I1 I1 CPU CPU I2 I2 CPU I1 CPU I2 Job1 Job2 Job3 Job2 Job1 Job2 Job3 Job1 Job3 Job2 Job1 Job1 Job3 Job3
4 (1) Job1 从投入到运行完成需 80ms,Job2 从投入到运行完成需 90ms,Job3 从投入到运 行完成需 90ms. (2) CPU 空闲时间段为:60ms 至70ms,80ms 至90ms.所以 CPU 利用率为 (90-20)/90=77.78%. (3) 设备 I1 空闲时间段为:20ms 至40ms,故I1 的利用率为(90-20)/90=77.78%.设备 I2 空闲时间段为:30ms 至50ms,故I2 的利用率为(90-20)/90=77.78%.
6 若内存中有
3 道程序 A、B、C,它们按 A、B、C 优先次序运行.各程序的计算轨 迹为: A:计算(20)、I/O(30)、计算(10) B:计算(40)、I/O(20)、计算(10) C:计算(10)、I/O(30)、计算(20) 如果三道程序都使用相同设备进行 I/O(即程序用串行方式使用设备,调度开销忽略不 计).试分别画出单道和多道运行的时间关系图.两种情况下,CPU 的平均利用率各为 多少? 答:分别画出单道和多道运行的时间图 (1) 单道运行时间关系图 单道总运行时间为 190ms.CPU 利用率为(190-80)/190=57.9% (1) 单道运行时间关系图 CPU I1 I2 Job1 Job2 Job3 时间 (ms) CPU CPU
0 10
20 30
40 50
60 70
80 90 I1 I1 CPU CPU I2 I2 CPU I1 CPU Job1 Job2 Job3 Job2 Job1 Job2 Job3 Job1 Job2 Job1 Job3
0 20
40 50
60 80
100 120
140 160
180 190 I/O CPU 时间 (ms) A A A B B B C C C
5 多道总运行时间为 140ms.CPU 利用率为(140-30)/140=78.6%
7 若内存中有
3 道程序 A、B、C,优先级从高到低为 A、B 和C,它们单独运行时的 CPU 和I/O 占用时间为: 程序 A:
60 20
30 10
40 20
20 (ms) I/O2 CPU I/O1 CPU I/O1 CPU I/O1 程序 B:
30 40
70 30
30 (ms) I/O1 CPU I/O2 CPU I/O2 程序 C:
40 60
30 70 (ms) CPU I/O1 CPU I/O2 如果三道程序同时并发执行,调度开销忽略不计,但优先级高的程序可中断优先级低的 程序,优先级与 I/O 设备无关.试画出多道运行的时间关系图,并问最早与最迟结束的 程序是哪个?每道程序执行到结束分别用了多少时间?计算三个程序全部运算结束时 的CPU 利用率? 答:画出三个作业并发执行的时间图: (1) 最早结束的程序为 B,最后结束的程序为 C. (2) 程序 A 为250ms.程序 B 为220ms.程序 C 为310ms. (3) CPU 利用率为(310-120)/310=61.3% I/O CPU 时间 (ms) A A A B C
0 20
40 50
60 80
100 120
140 B B C C B CPU I01 I02 A B C 时间 (ms) cpu
0 30
60 90
120 150
180 210
240 270
300 330 I01 cpu cpu I02 I02 cpu I01 c p u A B B A B C B C A C I01 cpu I01 A C A A cpu cpu I01 cpu cpu I02 I02 B C B C A
6 8 有两个程序, A 程序按顺序使用: (CPU)10 秒、 (设备甲)5 秒、 (CPU)5 秒、 (设备乙)10 秒、(CPU)10 秒.B 程序按顺序使用:(设备甲)10 秒、(CPU)10 秒、(设备乙)5 秒、 (CPU)5 秒、(设备乙)10 秒.在顺序环境下先执行 A,再执行 B,求出总的 CPU 利用 率为多少? 答:程序 A 执行了