操作系统第四版 课后习题答案 下载本文

第一章

作者:佚名 来源:网络

1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 得时间为80 % ,若增加1MB 内存,则CPU 得利用率提高多少? 答:设每个进程等待I/O 得百分比为P ,则n 个进程同时等待刀O 得概率就是Pn ,当n 个进程同时等待I/O 期间CPU 就是空闲得,故CPU 得利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O得时间为80 % , 故: CPU利用率=l-(80%)4 = 0、59

若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0、87

故增加IMB 内存使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 得情况?若有,指出发生等待得时刻。 答:画出两道程序并发执行图如下:

(1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分)

(2)程序A 无等待现象,但程序B 有等待。程序B 有等待时间段为180rns 至200ms 间(见图中有色部分)

3 设有三道程序,按A 、B 、C优先次序运行,其内部计算与UO操作时间由图给出。

试画出按多道运行得时间关系图(忽略调度执行时间)。完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时lms , 试画出各程序状态转换得时间关系图。 答:

1 )忽略调度执行时间,多道运行方式(抢占式):

?

抢占式共用去190ms ,单道完成需要260ms ,节省70ms 。 忽略调度执行时间,多道运行方式(非抢占式):

非抢占式共用去180ms ,单道完成需要260ms ,节省80ms 。 2 )调度执行时间1ms , 多道运行方式(抢占式):

调度执行时间ITns ,多道运行方式(非抢占式):

4在单CPU 与两台 I/O( I1 , 12 )设备得多道程序设计环境下,同时投入三个作业运行。它们得执行轨迹如下: Jobl : I2 ( 30ms )、CPU ( 10ms )、I1 ( 30ms )、CPU ( 10ms )、I2 ( 20ms ) Job2 : I1 ( 20ms )、CPU ( 20ms )、I2 ( 40 ms )

JOb3 : CPU ( 30ms )、I1 ( 20ms )、CPU ( 10ms )、I1 ( 10ms )

如果CPU 、I1 与I2 都能并行工作,优先级从高到低为Jobl 、Job2 与Job3 ,优先级高得作业可以抢占优先级低得作业得CPU ,但不抢占I1与I2 。试求:( l )每个作业从投入到完成分别所需得时间。(2 )从投入到完成CPU 得利用率。(3 )I2设备利用率。

答:画出三个作业并行工作图如下(图中着色部分为作业等待时间): ,

( 1 ) Job1 从投入到运行完成需110ms , Job2 从投入到运行完成需90ms , Job3 从投入到运行完成需110ms、 CPU 空闲时间段为:60ms 至70ms , 80ms 至90ms , 100ms 至110ms 。所以CPU 利用率为(110-30)/10 = 72、7 %。

设备I1 空闲时间段为:20ms 至40ms , 90ms 至100ms,故I1得利用率为 (110-30)/l10 = 72 、 7 %。

设备I2 空闲时间段为:30ms 至50ms,故I2得利用率为(110-20) / 110 = 81、8 %。

5 在单CPU 与两台I/O( I1 , 12 )设备得多道程序设计环境下,同时投入三个作业运行。它们得执行轨迹如下:

Jobl : I2 ( 30ms )、CPU ( 10rns )、I1 ( 30ms )、CPU ( 10ms ) Job2 : I1 ( 20ms )、CPU ( 20ms )、I2 ( 40ms ) Job3 : CPU ( 30ms )、I1 ( 20ms )

如果CPU 、I1与I2 都能并行工作,优先级从高到低为Job1 、Job2与Job3 ,

优先级高得作业可以抢占优先级低得作业得CPU 。 试求:( l )每个作业从投入到完成分别所需得时间. ( 2 )每个作业投入到完成CPU 得利用率。 (3 )I/0设备利用率。

答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):

( 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 )单道运行时间关系图