操作系统练习题完整答案.doc
文本预览下载声明
CH1 应用题参考答案
有一台计算机,具有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%
一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始做,程序B后开始运行。程序A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。程序B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明(1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?(2)程序A、B有无等待CPU的情况?若有,指出发生等待的时刻。
答:画出两道程序并发执行图如下:
两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。
程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见图中有色部分)。
设有三道程序,按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,试画出各程序状态转换的时间关系图。
答:
忽略调度执行时间,多道运行方式(抢占式):
时间 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 I32
CPU C11 C21 C13 C31 C23 C33
非抢占式共用去180ms,单道完成需要260ms, 节省80ms。
调度执行时间1ms,多道运行方式(抢占式):
时间 0 303132 8485 105107 127 136137 147 177178 198 单位1ms
I/O I12 I22 I32
CPU C11 C21 C13 C21 C31 C23 C33
OS
调度执行时间1ms,多道运行方式(非抢占式):
时间 0 303132 7172 939495 105106 124125127129 139 168169 189 单位1ms
I/O I12 I22 I32
CPU C11 C21 C21 C13 C31 C31 C23 C33
OS
在单CPU和两台I/O(I1,
显示全部