《操作系统教程》习题及解答
习题一(操作系统概论) 二.应用题
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=
若再增加1MB内存,系统中可同时运行9个用户进程,此时: CPU利用率=1-(80%)9=
故增加1MB内存使CPU的利用率提高了47%: 87%/59%=147% 147%-100%=47%
2. 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始做,程序B后开始运行.程序A的运行轨迹为:计算50ms,打印100ms,再计算50 ms,打印100 ms,
结束.程序B的运行轨迹为:计算50 ms,输入80 ms,再计算100 ms,结束.试说明(1)两道程序运行时,CPU有无空闲等待若有,在哪段时间内等待为什么会等待(2)程序A,B有无等待CPU的情况若有,指出发生等待的时刻.
答:(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间
(2)程序A无等待现象,但程序B有等待.程序B有等待时间段为180ms至200ms间.
3.设有三道程序,按A,B,C优先次序运行,其内部计算和I/O操作时间由图给出.
A B C
C11 =30 ms C21 =60 ms
C31 =20 ms
I12 =40 ms I22 =30 ms
I32 =40 ms
C13 =10 ms C23=10 ms
C33 =20 ms
试画出按多道运行的时间关系图(忽略调度执行时间).完成三道程序共华多少时间比单道运行节省了多少时间若处理器调度程序每次进行程序转换花时1 ms,试画出各程序状态转换的时间关系图. 答:(图略)
1)忽略调度执行时间,多道运行方式(抢占式):
抢占式共用去190 ms,单道完成时间需要260 ms,节省70 ms 忽略调度执行时间,多道运行方式(非抢占式):
非抢占式共用去180 ms,单道完成时间需要260 ms,节省80 ms 2)(略) 7.
单道时CPU的利用率为:(190-80)/190=% 多道时CPU的利用率为:(140-30)/140=% 11.
应时钟中断频率为60HZ,所以时钟频率为:1/60=50/3 ms. 在每个时钟周期CPU花2ms执行中断任务。所以CPU用于时钟中断处理的时间比率为:2/(50/3)=12% 习题二(处理器管理) 二.应用题
1. 下列指令中哪些只能在核心态运行
(1) 读时钟日期;(2)访管指令;(3)设时钟日期;(4)加载特殊寄存器;(6)改变存储器映象图;(7)启动I/O指令。
答: (3),(4),(5),(6),(7).
8.对某系统进行监测后表明平均每个进程在I/O阻塞之前的运行时间为T。一次进程切换的系统开销时间为S。若采用时间片长度为Q的时间片轮转法,对下列各种情况算出CPU利用率。 1)Q=无穷大 2)Q>T 3)S 1)Q=无穷大 CPU利用率=T/(T+S) 2)Q>T CPU利用率=T/(T+S) 3)S 9.按照最短作业优先的算法可以使平均相应时间最短。X的取值不定,按照以下情况讨论: 1) x<=3 次序为 x , 3 , 5 , 6 , 9 2) 3 11.有5个批处理作业A到E均已到达计算中心,其运行时间分别为10,6,2,4和8分钟;各自的优先级分别规定为3,5,2,1和4,这里5为最高级。若不考虑系统切换开销,计算出平均作业周转时间。(1)按FCFS(按A,B,C,D,E);(2)优先级调度算法,(3)时间片轮转法。 答: (1) 执行次序 A B C D E 执行时间 10 6 2 4 8 等待时间 0 10 16 18 22 周转时间 10 16 18 22 30 带权周转时间 1 9 3 5 2 1 4 FCFS调度算法 作业平均周转时间 作业平均带权周转时间 (2) 执行次序 A B T=(10+16+18+22+30)/5= W=(1++9++/5= 优先级调度算法 执行时间 6 8 等待时间 0 6 周转时间 6 14 带权周转时间 1 0