操作系统教程 孙钟秀(第四版)课后习题答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统教程孙钟秀(第四版)课后习题答案操作系统教程-孙钟秀(第四版)课后习题答案

第一章

作者:佚名来源:网络

1.有一台带有IMB内存的计算机,操作系统占用200KB,每个用户进程占用200KB。

如果用户进程等待80%的I/O,那么如果添加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%

计算机系统有一台输入机和一台打印机。两个现有程序投入运行,程序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(40ms)

作业3:cpu(30毫秒)、i1(20毫秒)、cpu(10毫秒)、i1(10毫秒)

如果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。试着找出:(1)每项工作从输入到完成所需的时间。(2)从输入到完成每项工作的CPU利用率。(3) I/0设备利用率。

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

(1)作业1投入运行80ms,作业2投入运行90ms,作业3投入运行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.如果存储器中有三个程序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%,单通道运行时间

多道总运行时间为140ms。cpu利用率为(140-30)/140=78.6%

7如果内存中有三个程序a、B和C,从高到低的优先级为a、B和C,单独运行时CPU 和I/O占用时间为:

如果三道程序同时并发执行,调度开销忽略不计,但优先级高的程序可中断优先级低的程序,优先级与i/o设备无关。试画出多道运行的时间关系图,并问最早与最迟结束的程序是哪个?每道程序执行到结束分别用了多少时间?计算三个程序全部运算结束时的cpu利用率?答:画出三个作业并发执行的时间图:

(l)最早的程序是B,最后一个程序是C。

(2)程序a为250ms。程序b为220ms。程序c为310ms。(3)cpu利用率为(310-120)/310=61.3%有两个程序,a程序按顺序使用:(cpu)10秒、(设备甲)5秒、(cpu)5秒、(设备乙)10秒、(cpu)10秒。b程序按顺序使用:(设备甲)10秒、(cpu)10秒、(设备乙)5秒、(cpu)5秒、(设备乙)10秒。在顺序环境下先执行

相关文档
最新文档