《操作系统教程》(第三版)CH1应用题参考答案
CH1 应用题参考答案
1 有一台计算机,具有1MB内存,操作系统占用200KB,每个用户进程各占200KB。
如果用户进程等待I/O的时间为80%,若增加1MB内存,则CPU的利用率提高多少? 答:设每个进程等待I/O的百分比为P,则n个进程同时等待I/O的概率是Pn ,当n个
进程同时等待I/O期间CPU是空闲的,故CPU的利用率为1-Pn 。由题意可知,除去操作系统,内存还能容纳4个用户进程,由于每个用户进程等待I/O的时间为80%,故:
CPU利用率=1-(80%)4 =0.59
若再增加1MB内存,系统中可同时运行9个用户进程,此时: CPU利用率=1-(80%)9 =0.87 故增加1MB内存使CPU的利用率提高了47%: 87%÷59%=147% 147%-100%=47%
2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A
先开始做,程序B后开始运行。程序A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。程序B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明(1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?(2)程序A、B有无等待CPU的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下:
A计算 B计算 A计算 B计算 处理器
B输入 输入机
A打印 A打印 打印机
计算 打印 计算 打印 程序A
计算 输入 计算 程序B
时间(ms)
0 50 100 150 180 200 250 300
(1) 两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部
分)。
(2) 程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见
图中有色部分)。
1
《操作系统教程》(第三版)CH1应用题参考答案
3 设有三道程序,按A、B、C优先次序运行,其内部计算和I/O操作时间由图给出。
A B C
C11=30ms C21=60ms C31=20ms
∣ ∣ ∣ I12=40ms I22=30ms I32=40ms
∣ ∣ ∣ C13=10ms C23=10ms C33=20ms
试画出按多道运行的时间关系图(忽略调度执行时间)。完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时1ms,试画出各程序状态转换的时间关系图。 答:
1) 忽略调度执行时间,多道运行方式(抢占式):
时间 0 3 7 8 10 12 13 14 17 19 单位10 ms
I/O I12 I22 I32 CPU C11 C21 C13 C21 C31 C23 C33
抢占式共用去190ms,单道完成需要260ms, 节省70ms。
忽略调度执行时间,多道运行方式(非抢占式):
时间 0 3 7 9 10 12 13 14 16 18 单位10 ms
I/O I12 I22 I3