当前位置:文档之家› 现代操作系统第三版中文答案

现代操作系统第三版中文答案

现代操作系统第三版中文答案

【篇一:操作系统课后答案】

>思考与练习题

1. 2. 3. 4. 5. 6. 7. 8. 9.

什么是操作系统?它的主要功能是什么?

什么是多道程序设计技术?多道程序设计技术的主要特点是什么?

批处理系统是怎样的一种操作系统?它的特点是什么?

什么是分时系统?什么是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面比较分时系统和实施系统。实时系统分

为哪俩种类型?操作系统主要特征是什么?

操作系统也用户的接口有几种?它们各自用在什么场合?“操作系

统是控制硬件的软件”这一说法确切吗?为什么?

设内存中有三道程序,a,b,c,它们按a~b~c的先后顺序执行,它们进行“计算”和“i/o操作”的时间如表1-2所示,假设三道程序使用相

同的i/o设备。

(1) 试画出单道运行时三道程序的时间关系图,并计算完成三道程序

要花多少时间。 (2) 试画出多道运行时三道程序的时间关系图,并计

算完成三道程序要花多少时间。 10.将下列左右两列词连接起来形

成意义最恰当的5对。 dos 网络操作系统 os/2自由软件 unix多任

务 linux单任务

11.选择一个现代操作系统,查找和阅读相关的技术资料,写一篇

关于操作系统如何进行内存管理、存储管理、设备管理和文件管理

的文章。

答案

1.答:操作系统是控制和管理计算机的软、硬件资源,合理地组

织计算机的工作流程,以

方便用户使用的程序集合。

2.答:把多个独立的程序同时放入内存,使她们共享系统中的资源。1)多道,即计算机内存中同时放多道相互独立的程序。

2)宏观上并行,是指共识进入系统的多道程序都处于运行过程。

3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流

地占有cpu,交

替执行。

3.答:批处理操作系统是一种基本的操作系统类型。在该系统中用户的作业被成批地输入

到计算机中,然后在操作系统的控制下,用户的作业自动的执行。

特点是:资源利用率高。系统吞吐量大。平均周转时间长。无交互

能力。

4.答:分时系统:允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其

他用户的存在,好像独占计算机一样。实时系统:对外输入出信息,实时系统能够在规定的时间内处理完毕并作出反应。

1)多路性:分时系统是为多个终端用户提供服务,实时系统的多路性主要表现在经

常对多路的现场信息进行采集以及多多个对象或多个执行机构进行

控制。

2)独立性:每个终端向实时系统提出服务请求时,是彼此独立的工作、互不干扰。 3)及时性:实时信息处理系统与分时系统对及时

性的要求类似,都以人们能够接受

的等待时间来确定。实时控制系统对一时性的要求更高,是以控制

对象所要求的开始截止时间或完成截止时间来确定的。

5.答:(1)实时控制系统(2)实时信息处理系统。 6.答:1)

并发性 2)共享性 3)虚拟性 4)不确定性。 7.答:两种,命令接口,程序接口。

命令接口:分为联机命令接口,脱机命令接口,图形用户命令接口。方便用户直接控

制自己的作业而提供的接口。

程序接口:又称系统调用,是为了用户在程序一级访问操作系统功

能而设置的。 8.答:不正确,因为操作系统不仅仅是控制硬件,同时它还控制计算机的软件。 9.(1)

20ms+30ms+10ms+30ms+50ms+20ms+10ms+20ms+10ms=200 ms

(2)

20ms+30ms+10ms+40ms+20ms+10ms=130ms

10.

dosos/2unixlinux windowsnt

网络操作系统自由软件多任务单任务

为开发操作系统而设计的c语言

第二章进程与线程思考与练习题

1.操作系统中为什么要引入进程的概念?为了实现并发进程之间

的合作和协调,以及保证

系统的安全,操作系统在进程管理方面要做哪些工作?

2.试描述当前正在运行的进程状态改变时,操作系统进行进程切

换的步骤。 3.现代操作系统一般都提供多任务的环境,是回答以

下问题。

(1)为支持多进程的并发执行,系统必须建立哪些关于进程的数

据结构?(2)为支持进程的状态变迁,系统至少应该供哪些进程

控制原语?(3)当进程的状态变迁时,相应的数据结构发生变化吗?

4.什么是进程控制块?从进程管理、中断处理、进程通信、文件

管理、设备管理及存储管

理的角度设计进程控制块应该包含的内容。

5.假设系统就绪队列中有10个进程,这10个进程轮换执行,每

隔300ms轮换一次,cpu

在进程切换时所花费的时间是10ms,试问系统化在进程切换上的

开销占系统整个时间的比例是多少?

6.试述线程的特点及其与进程之间的关系。 7.根据图2-18,回

答以下问题。

(1)进程发生状态变迁1、3、4、6、7的原因。

(2)系统中常常由于某一进程的状态变迁引起另一进程也产生状

态变迁,这种变迁

称为因果变迁。下述变迁是否为因果变迁:3~2,4~5,7~2,3~6,是说明原因。

(3)根据此进程状态转换图,说明该系统cpu调度的策略和效果。 8.回答以下问题。

(1)若系统中没有运行进程,是否一定没有就绪进程?为什么?(2)若系统中既没有运行进程,也没有就绪进程,系统中是佛就

没有阻塞进程?解

释。

(3)如果系统采用优先级调度策略,运行的进程是否一定是系统

中优先级最高的进

程?为什么?

9.假如有以下程序段,回答下面的问题。

s1: a=3-x; s2: b=2*a; s3: c=5+a;

(1) 并发程序执行的bernstein 条件是什么? (2) 是画图表示它们执行时的先后次序。

(3) 利用bernstein 条件证明,s1、s2和s3哪两个可以并发执行,哪两个不能。

答案

1. 答:①为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、

并发性、动态性和相互制约,操作系统中不得不引入进程的概念。

②为了防止操作系统及其关键的数据结构受到用户程序破坏,将处理机分为核心态和用户态。对进程进行创建、撤销以及在某些进程状态之间的转换控制。

2. 答:①运行状态→就绪状态:此进程根据自身的情况插入到就绪队列的适当位置,系统

收回处理及转入进程调度程序重新进行调度。②运行状态→阻塞状态:一个进程从运行状态道阻塞状态后。系统会调用进程调度程序重新选择一个进程投入运行。 3.

(1)答:为支持多进程的并发执行,系统必须建立的数据结构式pcb,不同状态进程的

pcb用链表组织起来,形成就绪队列、阻塞队列。

(2)答:阻塞原句、唤醒原句、挂起原句、激活原句

(3)答:创建原句:建立进程的pcb,并将进程投入就绪队列。撤销原句:删除进程的pcb,并将进程在其队列中摘除。

阻塞原句:将京城pcb中进程的状态从运行状态改为阻塞状态,并将进程投入阻塞队列。

唤醒原句:将进程pcb中进程的状态从阻塞状态改为就绪状态,并将进程从则色队列摘下,投入到就绪队列中。

4. 答:进程控制块(pcb)是为了描述进程的动态变化而设置的一个与进程相联系的数据

结构,用于记录系统管理进程所需信息。pcb是进程存在的唯一标识,操作系统通过pcb得知进程的寻在。

为了进程管理,进程控制块包括以下几方面。

(1)进程的描述信息,包括进程标识符、进程名等。(2)进程的当前状况。(3)当前队列链接指针。(4)进程的家族关系。

为了中断处理,进程控制块的内容应该包括处理机状态信息和各种

寄存器的内容,如通用寄存器、指令计数器、程序状态字(psw)寄存器及栈指针等。为了内存管理的需要,进程控制块的内容应该包

括进程使用的信号量、消息队列指针等。

为了设备管理,进程控制块的内容应该包括进程占有资源的情况。

【篇二:现代操作系统习题答案】

>(汤小丹编电子工业出版社2008.4)

第1章操作系统引论习题及答案

1.11 os有哪几大特征?其最基本的特征是什么?

答:并发、共享、虚拟和异步四个基本特征,其中最基本的特征是

并发和共享。

1.15 处理机管理有哪些主要功能?其主要任务是什么?

答案略,见p17。

1.22 (1)微内核操作系统具有哪些优点?它为何能有这些优点?

(2)现代操作系统较之传统操作系统又增加了哪些功能和特征?

第2章进程的描述与控制习题及答案

第3章进程的同步与通信习题及答案

3.9 在生产者-消费者问题中,如果缺少了signal(full)或

signal(empty),对执行结果将会有何影响?

答:资源信号量full表示缓冲区中被占用存储单元的数目,其初值

为0,资源信号量empty表示缓冲区中空存储单元的数目,其初值

为n,signal(full)在生产者进程中,如果在生产者进程中缺少了signal(full),致使消费者进程一直阻塞等待而无法消费由生产者进

程生产的数据;signal(empty)在消费者进程中,如果在消费者进程

中缺少了signal(empty),致使生产者进程一直阻塞等待而无法将生

产的数据放入缓冲区。

3.13 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题

的算法。

答:

参考答案一:至多只允许有四位哲学家同时去拿左边的筷子,最终

能保证至少有一位哲学家能够进餐,并在用毕时能释放出他用过的

两支筷子,从而使更多的哲学家能够进餐。采用此方案的算法如下:var chopstick:array[0,…,4] of semaphore :=1;

room:semphore:=4;

repeat

wait(room);

wait(chopstick[i]);

wait(chopstick[(i+1) mod 5]);

eat;

signal(chopstick[i]);

signal(chopstick[(i+1) mod 5);

signal(room);

think;

until false;

第4章处理机调度与死锁习题及答案

4.1 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?答:略,见p73。

4.27 何谓死锁?产生死锁的原因和必要条件是什么?

答:死锁的定义:

参考答案一:多个进程为竞争系统资源或彼此间通信而引起的永久

性的阻塞现象;

参考答案二:多个进程为竞争系统资源而造成的一种僵局,若无外

力作用,这些进程都将永远不能向前推进的现象。

死锁的原因:

①竞争不可抢夺资源引起死锁;

②竞争可消耗性资源引起死锁。

死锁的必要条件:

①互斥条件

②请求和保持条件(或占用并等待条件)

③不可抢占条件

④循环等待条件(或环路等待条件)

(1)该状态是否安全?

(2)若进程p2提出请求request(1,2,2,2)后,系统能否将

资源分配给它?

由上表可知在此时存在一个安全序列{p0,p3,p1,p2,p4},故该状态

是安全的;同理可分析出此时还存在另外两个安全序列

{ p0,p3,p1,p4,p2},{ p0,p3,p4,p1,p2}。

(2)当进程p2提出请求request(1,2,2,2)后,为避免死锁

系统按银行家算法进行检查如下:

①request2(1,2,2,2)≤need 2(2,3,5,6)

②request2(1,2,2,2)≤available(1,6,2,2)

③系统先假定可为进程p2分配资源,并修改available,

allocation 2和 need 2向量,由此形

④系统执行安全性算法进行检查,可得系统可用资源available(0,4,0,0)已不能满足任何进程的需要,即所有进程的finish[i]都为false,故系统进入不安全状态,所以系统不能将资源分配给进程p2【篇三:现代操作系统--作业题整理】

版中文答案的电子书上摘抄的,剩下的是非标准答案(可以忽略~~)。

有几道题没有写。以下的相关文档仅供参考!祝各位同学考试愉快!第一章:引论(p44)

1、什么是多道程序设计?

答:多道程序就是cpu在内存中多个进程之间迅速切换。它一般被

用来使cpu保持忙碌,当有一个或多个进程进行i/o时。(操作系统第二版中文答案)

2、什么是spooling?读者是否认为将来的高级个人计算机会把spooling作为标准功能?

答:spooling是simultaneous peripheral operation on-line

(即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何

与计算机主机交换信息的一种技术,通常称为“假脱机技术”。(回答:什么是spooling?百度的~~~)输入spooling是作业中的读入

技术,例如:从卡片在磁盘,这样当当前执行的进程完成时,将等

候cpu。输出spooling在打印之前首先复制打印文件,而非直接打印。在个人计算机上的输入spooling很少,但输出spooling非常

普通。(操作系统第二版中文答案)

3、在早期的计算机中,每个字节的读写直接由cpu处理(既没有dma)。对于多道程序而言这种组织方式有什么含义?

答:多道程序的主要原因是当等候i/o完成时cpu有事可做。如果

没有dma,i/o操作时cpu被完全占有,因此,多道程序无利可图(至少在cpu利用方面)。无论程序操作多少i/o操作,cpu都是100%的忙碌。当然,这里是假定主要的延迟是数据复制时的等待。

如果i/o很慢的话,cpu可以做其他工作。(操作系统第二版中文答案)

4、系列计算机的思想在20世纪60年代由ibm引入system/360

大型机。现在这种思想已经消亡了还是继续活跃着?

答:它依然存在。例如:interl以各种各样的不同的属性包括速度和能力消耗来产生pentium i,ii,iii和4。所有这些机器的体系结构

都是兼容的,仅仅是价格上的不同,这些都是家族思想的本质。

(操作系统第二版中文答案)

5、缓慢采用gui的一个原因是支持它的硬件的成本(高昂)。为了

支持25行80列字符的单色文本屏幕应该需要多少视频ram?对于1024*768像素24位色彩位图需要多少视频ram?在1980年

($5/kb)这些ram的成本是多少?现在它的成本是多少?

答:25*80字符的单色文本屏幕需要2000字节的缓冲器。

1024*768像素24位颜色的位图需要2359296字节。1980年代这两种选择将分别地耗费$10和$11520。而对于当前的价格。将少于

$1/mb。(操作系统第二版中文答案)

8、考虑一个有两个cpu的系统,并且每个cpu有两个线程(超线程)。假设有三

个线程p0,p1,p2,分别以运行时间5ms,10ms,20ms开始。

运行这些程序需要多少时间?假设这三个程序都是100%限于cpu,

在运行时无阻塞,并且一旦设定就不改变cpu。

答:这些程序的运行时间因程序的组合的不同而不同,一共有以下

4种情况:

1)(p0,p1) and p2 = (5ms + 10ms) and 20ms = 20ms

2)(p0,p2) and p1 = (5ms + 20ms) and 10ms = 25ms

3)(p1,p2) and p0 = (10ms + 20ms) and 50ms = 30ms

4)(p0,p1,p2) = (5ms + 10ms + 20ms) = 35ms

9、一台计算机有一个四级流水线,每一级都花费相同的时间执行

其工作,即1ns。这台机器每秒可执行多少条指令?

答:从管道中每纳秒出现一条指令。意味着该机器每秒执行十亿条

指令。它对于管道有多少个阶段不予理睬,即使是10-阶段管道,每

阶段1nsec,也将执行对每秒十亿条指令。因为无论哪种情况,管

道末端输出的指令数都是一样的。(操作系统第二版中文答案)

10、假设一个计算机系统有高速缓存、内存(ram)以及磁盘,操

作系统用虚拟内存。读取缓存中的一个词需要2ns,ram需要10ns,硬盘需要10ms。如果缓存的命中率是95%,内存的是(缓存失效时)99%,读取一个词的平均时间是多少?答:平均访问时间 =

2ns * 0.95 + 10ns *0.99 *(1-0.95) + 10ms * (1-0.99) *(1-0.95) = 5002.395ns .

14、陷阱和中断的主要差别是什么?

答:陷阱是由程序造成的,并且与它同步。如果程序一而再地被运行,陷阱将总在指令流中相同的位置的精确发生。而中断则是由外

部事件和其他时钟造成的,不具有重复性。(操作系统第二版中文

答案)

20、有一个文件,其文件描述符是fd,内含下列字节序列:3,1,4,1,5,9,2,6,5,3,5。有如下系统调用:

lseek(fd,3,seek_set);

read(fd,buffer,4);

其中lseek调用寻找文件中的字节3。在读取操作完成之后,buffer 中的内容是什么?

答:包含字节:1,5,9,2.(操作系统第二版中文答案)

22、块特殊文件和字符特殊文件的基本差别是什么?

答:块特殊文件包含被编号的块,每一块都可以独立地读写或者写入。而且可以定位于任何块,并且开始读入或写入。这些对于字符

特殊文件是不可能的。(操作系统第二版中文答案)

25、对程序员而言,系统调用就像对其他库过程的调用一样。有无

必要让程序员了解哪一个库过程导致了系统调用?在什么情形下,

为什么?

答:就程序逻辑而言,库例程调用哪个系统调用是没有关系的。但是,如果需要考虑性能问题,无需系统调用就可以完成的任务将使

进程运行更快。所有的系统

调用都会导致用户环境和内核环境的切换开销。更进一步,在多用

户系统中,在系统调用完成之前,操作系统可能调度到其他的进程,这将使得调用过程的处理更加迟缓。(操作系统第二版中文答案)

1、于操作系统,下列叙述不正确的是()。

a、管理系统资源

b、控制程序执行

c、改善人机界面

d、提高用户软件运行速度

2、以下哪个系统不是基本的操作系统( ).

a、分时操作系统

b、实时操作系统

c、分布式操作系统

d、多道批处理系统

3、计算机系统由__________和__________组成。

4、分时操作系统具有的四个主要特点是同时性、 _________、

__________和_________。

5、多道程序设计的根本目标是( )。

6、多项选择:操作系统设计目标是()。

a、管理系统资源

b、提高安全性

c、方便用户使用系统

d、使系统能高效工作

7、在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应。

a、批处理操作系统

b、实时操作系统

c、分时操作系统

d、多处理机操作系统

8、多项选择:引入多道程序设计的主要目的在于()。

a、提高实时响应速度

b、充分利用处理机,减少机空闲时间

c、有利于代码共享

d、充分利用外围设备

e、减少存储器碎片

9、计算机发展到第三代,操作系统已成为软件的一个重要分支,最早的操作系统是()。

10、设计实时操作时()不是主要的追求目标。

a、安全可靠

b、资源利用率

c、及时响应

d、快速处理

答案:

1、d

2、c

3、硬件子系统软件子系统

4、独立性及时性交互性

5、提高计算机系统的工作效率

6、c d

7、b

8、bd

9、批处理操作系统

10、b

第二章:进程与线程(p95)

2、假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程

切换。cpu需要哪些信息?请描述用硬件完成进程切换的过程。答:应该有一个寄存器包含当前进程表项的指针。当i/o结束时,cpu讲当前的机器状态存入当前进程表项中,然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服务例程)。然后,就可以启动这个进程了。(操作系统第二版中文答案)

3、在所有当代计算机中,至少有部分中断处理程序是用汇编语言编写的。为什么?

答:通常高级语言不允许cpu硬件,而这种访问是必须的。例如:

中断处理程序可能需要禁用和启动某个特定的设备服务,或者处理

进程堆栈区的数据。另外,中断服务例程需要尽快地执行。(操作

系统第二版中文答案)

4、当中断或系统调用把控制转给操作系统时,通常将内核堆栈和

被中断进程的运行堆栈分离。为什么?

答:内核使用单独的堆栈有若干的原因。其中两个原因如下:

首先,不希望操作系统崩溃,由于某些用户进程不允许足够的堆栈

空间。

第二,如果内核将数据保留在用户空间,然后从操作系统调用返回,那么恶意的用户可能使用这些数据找出某些关于它进程的信息。

(操作系统第二版中文答案)

5、多个作业能够并行运行,比它们顺序执行完成的要快。假设有

两个作业同时开始执行,每个需要10分钟的cpu时间。如果顺序执行,那么最后一个作业需要多少时间可以完成?如果并行执行又需

要多少时间?假设i/o等待占50%。答:cpu利用率计算公式:cpu 利用率 = 1 - p^n.设运行作业所需要的时间为t 顺序执行:t = (10 + 10) / 0.5 = 40(分钟);

并行执行:p = 0.5, n = 2, cpu利用率 = 1 - 0.5^2 = 0.75, 则t = (10 + 10) / 0.75 = 26.7(分钟).

7、如果创建一个多线程进程,若子进程得到全部父进程线程的副本,会出现问题。假如原有线程之一正在等待键盘输入,现在则成

为两个线程在等待键盘输入,每个进程有一个。在单线程进程中也

会发生这种问题吗?

答:不会。如果单线程进程在键盘上阻塞,就不能创建子进程。

(操作系统第二版中文答案)

9、在本章中,我们介绍了多线程的web服务器,说明它比单线程

服务器和有限状态机服务器更好的原因。存在单线程服务器更好一

些的情形吗?请给出一个例子。

答:是的。如果服务器是完全cpu绑定的,则不需要多线程。这只

会增加不必要的复杂性。假设某个百万人口区域的电话查号系统

(类似于114),如果每个(姓名,电话号码)记录为64个字符,

整个的数据库则为64mb,这就是很容易全部读入服务器内存中以提高快速的查询。(操作系统第二版中文答案)

11、为什么线程要通过调用thread_yield自愿放弃cpu?毕竟,由于没有周期性的时钟中断,线程可以不交回cpu。

答:进程中线程是相互协作的,而不是相互独立的。如果放弃了是为了应用程序,那么线程将放弃cpu。毕竟,通常是同一个程序员写的代码。(操作系统第二版中文答案)

12、线程可以被时钟中断抢占吗?如果可以,在什么情形下可以?如果不可以,为什么不可以?

答:用户级线程不能被时中断抢占,除非整个进程的时间片用完。内核级线程可以单独地被剥夺。在后一种情况下,如果线程运行过久,时钟将的中断当前的进程,因而当前线程也被中断。内核可以自由地从同一个进程中选取其他线程运行。(操作系统第二版中文答案)

20、在2.3.4节中,描述了一种有高级优先级进程h和低级优先级进程l的情况,导致了h陷入死循环。若采用轮换调度算法而不是优先级调度算法,会发生同样的问题吗?请给予讨论。

答:对于时间片轮转调度,该方法不会出现问题。l迟早会运行,而且最终将离开其临界区。对于优先级调度,l永远得不到运行;而对于时间片轮转,它将周期性地得到一时间片,因此就有机会离开其临界区。(操作系统第二版中文答案)

23、两个进程在一个共享存储器多处理器(即两个cpu)当它们要共享一个公共内存时,图2-23所示的采用变量turn的忙等待解决方案有效吗?

答:是的,它还是会有用的。当然,它依然是忙等待。(操作系统第二版中文答案)

27、如果一个系统只有两个进程,可以使用一个屏障来同步这两个进程吗?为什么?

答:如果程序是操作按阶段进行,直到两个进程都完成当前阶段才能进入下一个阶段,这时就应该使用屏障。(操作系统第二版中文答案)

28、如果线程在内核中实现,可以使用内核信号量对同一个进程中的两个线程进行同步吗?如果线程在用户空间安实现呢?假设在其他进程中没有线程必须访问该信号量。请讨论你的答案。

答:对于内核线程,线程可以在信号量上阻塞,而内核可以运行该进程中的其他线程。因而,使用信号量没有问题。而对于用户级线

程,当某个线程在信号量上阻塞时,内核将认为整个进程都被阻塞。而且不再执行它。因此,进程失败。(操作系统第二版中文答案)

30、一个快餐店有四类雇员:(1)领班,接收顾客点的菜单;(2)厨师,准备饭菜;(3)打包工,将饭菜装在袋子里;(4)收银员,将食品袋交给顾客并收钱。每个雇员可被看作一个进行通讯的顺序

进程。它们采用的进程间通信方式是什么?请将这个模型与unix中

进程联系起来。

答:雇员之间通过消息传递进行通信:在该例中,消息为订单、食

物和袋子。在unix中,该4个进程通过管道连接。(操作系统第二

版中文答案)

相关主题
文本预览
相关文档 最新文档