操作系统孙钟秀答案 下载本文

内容发布更新时间 : 2024/9/14 13:55:40星期一 下面是文章的全部内容请认真阅读。

操作系统孙钟秀答案

【篇一:操作系统部分习题参考答案(孙钟秀版)】

t>第一章

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有等待时间段为180ms至200ms间(见图中有色部分)。

5. 在单cpu和两台i/o(i1,i2)设备的多道程序设计环境下,同时投入三个作业运行。它们的执行轨迹如下:

job1:i2(30ms)、cpu(10ms)、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/o设备利用率。

答:画出三个作业并行工作图如下(图中着色部分为作业等待时间): (1) job1从投入到运行完成需80ms,job2从投入到运行完成需90ms,job3从投入到运行完成需90ms。

(2) cpu空闲时间段为:60ms至70ms,80ms至90ms。所以cpu利用率为(90-20)/80=77.78%。 (3) 设备i1空闲时间段为:

20ms至40ms,故i1的利用率为(90-20)/90=77.78%。设备i2空闲时间段为:30ms至50ms,故i2的利用率为(90-20)/90=77.78%。 第二章

7.假定执行作业job1——job5,作业号即为其到达顺序,依次在时刻0按照序号1、2、3、4、5进入单处理器系统。

(1)分别采用先来先服务调度算法、时间片轮转算法(时间片为1ms)、短作业优先算法及非抢占式优先权调度算法,计算出各作业的执行次序(注意:优先权越高,其数值越小) (2)计算每种情况下作业的平均周转时间和平均带权周转时间。 答:(1)采用先来先服务调度算法

(2)采用时间片轮转算法,令时间片=1,各作业执行情况为:1234513515151511111 (3)短作业优先算法

(4)非抢占式优先权调度算法

11. 5个批处理作业a到e均已到达计算中心,其运行时间分别2、4、6、8和10分钟;各自的优先级分别被规定为1、2、3、4和5,这里5为最高级。对于1)时间片轮转算法、2)优先数法、3)短作业优先算法、4)先来先服务调度算法(按到达次序c、d、b、e、a),在忽略进程切换时间的前提下,计算出平均作业周转时间。(对1)每个作业获得相同的2分钟长的时间片;对2)到4)采用单道运行,直到结束。)

答: (1) 时间片轮转法

按次序a b c d e b c d ec d e d e e轮转执行。 (2) 优先级调度算法 (3)sjf调度算法 (4)fcfs调度算法

【篇二:操作系统教程(第四版 孙钟秀主编)应用题参考

答案】

xt>1 下列指令中哪些只能在核心态运行?

(1) 读时钟日期;(2)访管指令;(3)设时钟日期;(4)加载psw;(5)置特殊

寄存器;(6) 改变存储器映象图;(7) 启动i/o指令。 答:(3),(4),(5),(6),(7)。

2 假设有一种低级调度算法是让“最近使用处理器较少的进程”运行,试解释这种

算法对“i/o繁重”型作业有利,但并不是永远不受理“处理器繁重”型作业。 答:因为i/o繁忙型作业忙于i/o,所以它cpu用得少,按调度策略能优先执行。同样原因一个进程等待cpu足够久时,由于它是“最近使用处理器较少的进程”,就能被优先调度,故不会饥饿。

3 并发进程之间有什么样的相互制约关系?下列日常生活中的活动是属哪种制约关

系:(1)踢足球,(2)吃自助餐,(3)图书馆借书,(4)电视机生产流水线工序。

答:并发进程之间的基本相互制约关系有互斥和同步两种。其中(1)、(3)为互斥问题。(2)、 (4)为同步问题。

4 在按动态优先数调度进程的系统中,每个进程的优先数需定时重新计算。在处理

器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来?

答:许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,由于中断是随机的,碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个进程的账上。

5 若后备作业队列中等待运行的同时有三个作业j1、j2、j3,已知它们各自的运行

时间为a、b、c,且满足abc,试证明采用短作业优先算法调度能获得最小平均作业周转时间。

答:采用短作业优先算法调度时,三个作业的总周转时间为: t1=a+(a+b)+(a+b+c)=3a+2b+c①

若不按短作业优先算法调度,不失一般性,设调度次序为:j2、j1、j3。则三个作业的总周转时间为: t2=b+(b+a)+(b+a+c)=3b+2a+c ② 令②-①式得到: t2-t1=b-a0

可见,采用短作业优先算法调度才能获得最小平均作业周转时间。 6 若有一组作业j1,?,jn,其执行时间依次为s1,?,sn。如果这些作业同时到

达系统,并在一台单cpu处理器上按单道方式执行。试找出一种作业调度算法,使得平均作业周转时间最短。

答:首先,对n个作业按执行时间从小到大重新进行排序,则对n个作业:j1’,?,jn’,它们的运行时间

满足:s1’≤ s2’≤? ≤s(n-1)’≤sn’。那么有:

t=[s1’ +( s1’+s2’)+ (s1’ + s2’+ s3’)+?+(s1’ + s2’+ s3’+?+ sn’)]/n 7 假定执行表中所列作业,作业号即为到达顺序,依次在时刻0按次序1、2、3、4、