操作系统课后习题答案

合集下载

操作系统第五版费祥林-课后习题答案参考

操作系统第五版费祥林-课后习题答案参考

操作系统第五版费祥林-课后习题答案参考1. 习题一a) 内容描述:- 系统调用是操作系统提供给用户程序的一组接口,用于访问操作系统的功能和服务。

- 系统调用是以进程的方式运行的,通过软中断或硬中断触发,并返回一个状态值,表示系统调用的执行结果。

b) 答案:系统调用的主要目的是提供一种安全的方式,让用户程序能够访问操作系统的特权功能。

通过系统调用,用户程序可以进行文件操作、网络通信、进程管理等功能。

2. 习题二a) 内容描述:- 进程是计算机中正在运行的程序的实例。

- 进程由程序代码、相关数据和执行上下文组成。

- 进程拥有自己的虚拟内存空间、寄存器状态和资源。

- 进程可以通过操作系统的调度机制进行切换和调度。

b) 答案:进程的主要特征包括并发性、独立性和随机性。

并发性指的是多个进程可以同时存在和执行;独立性指的是进程拥有独立的资源和执行上下文;随机性指的是进程的执行顺序和时间不确定。

3. 习题三a) 内容描述:- 死锁是指两个或多个进程因为竞争有限的资源而无法继续执行的状态。

- 死锁发生的原因包括互斥、占有且等待、不可抢占和循环等待。

b) 答案:死锁的预防和避免是操作系统中重要的问题。

预防死锁的方法包括破坏死锁产生的条件,如破坏互斥条件、破坏占有且等待条件等;避免死锁的方法包括资源分配图和银行家算法。

4. 习题四a) 内容描述:- 页面置换算法是操作系统中用于管理虚拟内存的重要手段。

- 页面置换算法的目标是在有限的物理内存空间中有效地管理大量的进程和页面。

- 常见的页面置换算法有FIFO、LRU和LFU等。

b) 答案:页面置换算法的选择依赖于系统的具体需求和资源限制。

FIFO算法是最简单的页面置换算法,它总是选择最先进入内存的页面进行置换;LRU算法则是根据页面最近被访问的频率进行置换;LFU算法是根据页面被访问的次数进行置换。

5. 习题五a) 内容描述:- 文件系统是操作系统中负责管理文件和目录的一组服务和数据结构。

(完整版)操作系统第五版费祥林_课后习题答案解析参考

(完整版)操作系统第五版费祥林_课后习题答案解析参考

第一章操作系统概论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 , 试画出各程序状态转换的时间关系图。

(完整版)操作系统教程第5版课后标准答案

(完整版)操作系统教程第5版课后标准答案

操作系统教程第5版课后答案费祥林、骆斌编著第一章操作系统概论习题一一、思考题1.简述现代计算机系统的组成及层次结构。

答:现代计算机系统由硬件和软件两个部分组成。

是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。

硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及I/O设备。

软件层由包括系统软件、支撑软件和应用软件。

其中系统软件是最靠近硬件的。

2、计算机系统的资源可分成哪几类?试举例说明。

答:包括两大类,硬件资源和信息资源。

硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。

3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。

操作系统在计算机系统中主要起4个方面的作用。

(1)服务用户观点——操作系统提供用户接口和公共服务程序(2)进程交互观点——操作系统是进程执行的控制者和协调者(3)系统实现观点——操作系统作为扩展机或虚拟机(4)资源管理观点——操作系统作为资源的管理者和控制者4.操作系统如何实现计算与操作过程的自动化?答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。

其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。

又可分为批处理单道系统和批处理多道系统。

单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。

批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率5.操作系统要为用户提供哪些基本的和共性的服务?答:(1)创建程序和执行程序;(2)数据I/O和信息存取;(3)通信服务;(4)差错检测和处理。

操作系统课后部分习题及答案

操作系统课后部分习题及答案

第2章操作系统的运行环境2.2 现代计算机为什么设置目态/管态这两种不同的机器状态?现在的lntel80386设置了四级不同的机器状态(把管态又分为三个特权级),你能说出自己的理解吗?答:现在的Intel 80386把执行全部指令的管态分为三个特权级,再加之只能执行非特权指令的目态,这四级不同的机器状态,按照系统处理器工作状态这四级不同的机器状态也被划分管态和目态,这也完全符合处理器的工作状态。

2.6 什么是程序状态字?主要包括什么内容?答:如何知道处理器当前处于什么工作状态,它能否执行特权指令,以及处理器何以知道它下次要执行哪条指令呢?为了解决这些问题,所有的计算机都有若干的特殊寄存器,如用一个专门的寄存器来指示一条要执行的指令称程序计数器PC,同时还有一个专门的寄存器用来指示处理器状态的,称为程序状态字PSW。

主要内容包括所谓处理器的状态通常包括条件码--反映指令执行后的结果特征;中断屏蔽码--指出是否允许中断,有些机器如PDP-11使用中断优先级;CPU的工作状态--管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力。

2.11 CPU如何发现中断事件?发现中断事件后应做什么工作?答:处理器的控制部件中增设一个能检测中断的机构,称为中断扫描机构。

通常在每条指令执行周期内的最后时刻中扫描中断寄存器,询为是否有中断信号到来。

若无中断信号,就继续执行下一条指令。

若有中断到来,则中断硬件将该中断触发器内容按规定的编码送入程序状态字PSW的相应位(IBM-PC中是第16~31位),称为中断码。

发现中断事件后应执行相中断处理程序,先由硬件进行如下操作:1、将处理器的程序状态字PSW压入堆栈2、将指令指针IP(相当于程序代码段落的段内相对地址)和程序代码段基地址寄存器CS的内容压入堆栈,以保存被子中断程序的返回地址。

3、取来被接受的中断请求的中断向量地址(其中包含有中断处理程序的IP,CS的内容),以便转入中断处理程序。

操作系统课后习题及答案

操作系统课后习题及答案

第一章1.下面不属于操作系统的是(C )A、OS/2B、UCDOSC、WPSD、FEDORA2.操作系统的功能不包括(B )A、CPU管理B、用户管理C、作业管理D、文件管理3.在分时系统中,当时间片一定时,(B ),响应越快。

A、内存越大B、用户越少C、用户越多D、内存越小4.分时操作系统的及时性是指( B )A、周转时间B、响应时间C、延迟时间D、A、B和C5.用户在程序设计的过程中,若要得到系统功能,必须通过(D )A、进程调度B、作业调度C、键盘命令D、系统调用6.批处理系统的主要缺点是( C )A、CPU使用效率低B、无并发性C、无交互性D、都不是第二章1、若信号量的初值为2,当前值为-3,则表示有(C )个进程在等待。

A、1B、2C、3D、52、在操作系统中,要对并发进程进行同步的原因是(B )A、进程必须在有限的时间内完成B、进程具有动态性C、并发进程是异步的D、进程具有结构性3、下列选项中,导致创进新进程的操作是(C )I用户成功登陆II设备分配III启动程序执行A、仅I和IIB、仅II和IIIC、仅I和IIID、I,II,III4、在多进程系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。

所谓的临界区是指(D )A、一个缓冲区B、一个数据区C、一种同步机构D、一段程序5、进程和程序的本质区别是(B )A、内存和外存B、动态和静态特征C、共享和独占计算机资源D、顺序和非顺序执行计算机指令6、下列进程的状态变化中,(A )的变化是不可能发生的。

A、等待->运行B、运行->等待C、运行->就绪D、等待->就绪7、能从1种状态变为3种状态的是(D )A、就绪B、阻塞C、完成D、执行8、下列关于进程的描述正确的是(A )A、进程获得CPU是通过调度B、优先级是进程调度的重要依据,一旦确定就不能改变C、在单CPU系统中,任何时刻都有一个进程处于执行状态D、进程申请CPU得不到满足时,其状态变为阻塞9、CPU分配给进程的时间片用完而强迫进程让出CPU,此时进程的状态为(C )。

操作系统课后习题答案

操作系统课后习题答案

1.什么是操作系统?其主要功能是什么?操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口.2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。

A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。

B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。

试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待?(2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。

0 50 100 150 200 250 30050 100 50 10050 100 20 100(1) cpu有空闲等待,在100ms~150ms的时候.(2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms.1.设公共汽车上,司机和售票员的活动如下:司机的活动:启动车辆;正常行车;到站停车。

售票员的活动:关车门;售票;开车门。

在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。

semaphore s1,s2;s1=0;s2=0;cobegin司机();售票员();coendprocess 司机(){while(true){P(s1) ;启动车辆;正常行车;到站停车;V(s2);}}process 售票员(){while(true){关车门;V(s1);售票;P(s2);开车门;上下乘客;}}2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。

请用信号量和P、V操作,写出能够正确执行的程序。

操作系统(1~8章的课后习题答案)

操作系统(1~8章的课后习题答案)

1.1:存储程序式计算机的主要特点是:集中顺序过程控制(1)过程性:模拟人们手工操作(2)集中控制:由CPU集中管理(3)顺序性:程序计数器1.2:a:批处理系统的特点:早期批处理有个监督程序,作业自动过渡直到全部处理完,而脱机批处理的特点:主机与卫星机并行操作。

b:分时系统的特点:(1):并行性。

共享一台计算机的众多联机用户可以在各自的终端上同时处理自己的程序。

(2):独占性。

分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端上同时为许多终端用户服务,每个用户的感觉是自己独占计算机。

操作系统通过分时技术将一台计算机改造为多台虚拟计算机。

(3):交互性。

用户与计算机之间可以进行“交互会话”,用户从终端输入命令,系统通过屏幕(或打印机)将信息反馈给用户,用户与系统这样一问一答,直到全部工作完成。

c:分时系统的响应比较快的原因:因为批量操作系统的作业周转时间较长,而分时操作系统一般采用时间片轮转的方法,一台计算机与许多终端设备连接,使一台计算机同时为多个终端用户服务,该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。

1.3:实时信息处理系统和分时系统的本质区别:实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。

其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。

此外,实时操作系统应有较强的容错能力,分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。

用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。

用户根据上步结果发出下道命。

分时操作系统将CPU 的时间划分成若干个片段,称为时间片。

操作系统以时间片为单位,轮流为每个终端用户服务。

每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。

分时系统具有多路性、交互性、“独占”性和及时性的特征。

操作系统(第二版)课后习题答案

操作系统(第二版)课后习题答案
257<10+256
故需要一次间接寻址,就可读出该数据
如果要求读入从文件首到263168Byte处的数据(包括这个数据),读岀过程:首先根据直接寻
址读出前10块;读出一次间接索引指示的索引块1块;将索引下标从0〜247对应的数据块全部 读入。即可。共读盘块数10+1+248=259块
3.某文件系统采用索引文件结构,设文件索引表的每个表目占用3Byte,存放盘块的块号,盘块 的大小为512Byte。此文件系统采用直接、一次间接、二次间接、三次间接索引所能管理的最大
(1)|100-8|+|18-8|+|27-18|+|129-27|+|110-129|+|186-110|+|78-186|+|147-78|+|41-147|+ |10-47|+|64-10|+|12-64|=728
8:00
10:00
120mi n
1
2
8:50
50min
10:00
10:50
120mi n
3
9:00
10mi n
10:50
11:00
120mi n
12
4
9:50
20mi n
11:00
11:20
90mi n
平均周转时间T=,平均带权周转时间W=
②SJF短作业优先法)
作业
到达时间
运行时间
开始时间
完成时间
周转时间
页面长度为4KB,虚地址空间共有土)个页面
3.某计算机系统提供24位虚存空间,主存空间为218Byte,采用请求分页虚拟存储管理,页面尺
寸为1KB。假定应用程序产生虚拟地址(八进制),而此页面分得的块号为100(八进制),说明
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.1论述长期、中期、短期调度之间的区别。

答:短期调度:在内存作业中选择准备执行的作业,并未他们分配CPU。

中期调度:被用于分时系统,一个交换方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。

长期调度:确定哪些作业调入内存以执行。

区别:它们区别在于执行频率。

短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。

3.2描述内核在两个进程间进行上下文切换的过程。

答:进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。

当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态。

上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。

3.4使用图3.24所示的程序,说明LINE A可能输出什么。

答:输出:PARENT:value=5;
父进程中value初始值为5,,value+=15发生在子进程,输出发生在父进程中,故输出value 的值为5。

3.5下面设计的优点和缺点分别是什么?系统层次和用户层次都要考虑。

a.同步和异步通信
b.自动和显式缓冲
c.复制传送和引用传送
d.固定大小和可变大小信息
答:a.同步和异步通信:同步通信的影响是它允许发送者和接收者之间有一个集合点。

缺点是阻塞发送时,不需要集合点,而消息不能异步传递。

因此,消息传递系统,往往提供两种形式的同步。

b.自动和显式缓冲:自动缓冲提供了一个无限长度的队列,从而保证了发送者在复制消息时不会遇到阻塞,如何提供自动缓存的规范,一个方案也许能保存足够大的内存,但许多内存被浪费缓存明确指定缓冲区的大小。

在这种状况下,发送者不能在等待可用空间队列中被阻塞。

然而,缓冲明确的内存不太可能被浪费。

c.复制发送和引用发送:复制发送不允许接收者改变参数的状态,引用发送是允许的。

引用发送允许的优点之一是它允许程序员写一个分布式版本的一个集中的应用程序。

d.固定大小和可变大小信息:一个拥有具体规模的缓冲可容纳及已知数量的信息缓冲能容纳的可变信息数量是未知的。

信息从发送者的地址空间被复制至接受进程的地址空间。

更大的信息可使用共享内存传递信息。

4.1举两个多线程程序设计的例子,其中多线程的性能比单线程的性能差。

答:a.任何形式的顺序程序对线程来说都不是一个好的形式。

例如一个计算个人报酬的程序。

b.一个“空壳”程序,如C-shell和korn shell。

这种程序必须密切检测其本身的工作空间。

如打开的文件、环境变量和当前工作目录。

4.2描述线程库进行用户级线程上下文切换的过程所采取的措施。

答:用户线程之间的上下文切换和内核线程之间的相互转换是非常相似的。

但它依赖于线程库和怎样把用户线程指给内核程序。

一般来说,用户线程之间的上下文切换涉及到用一个用户程序的轻量级进程和用另外一个线程来代替。

这种行为通常涉及到寄存器的节约和释放。

4.3在什么环境中,采用多内核线程的多线程方法比单处理器系统的单线程提供更好的性能。

答:当一个内核线程的页面发生错误时,另外的内核线程会用一种有效的方法被转换成使用交错时间。

另一方面,当页面发生错误时,一个单一线程进程将不能够发挥有效性能。

因此,在一个程序可能有频繁的页面错误或不得不等待其他系统的事件的情况下,多线程方案会有比单处理器系统更好的性能。

4.5使用多用户线程的多线程解决方案,在多处理器系统中可以比在单处理器系统中获得更好的性能吗?
答:一个包括多用户线程的多线程系统无法在多处理系统上同时使用不同的处理器。

操作系统只能看到一个单一的进程且不会调度在不同处理器上的不同进程的线程。

因此,多处理器系统执行多个用户线程是没有性能优势的。

4.9编写一个多线程的Java、Pthread或Win32程序来输出素数。

程序应这样工作:用户运行程序时在命令行输入一个数字,然后创建一个独立线程来输出小于或等于用户输入数的所有素数。

代码如下:
package caozuo01;
class Prime extends Thread
{
private int INnum;
public Prime(int n)
{
INnum = n;
}
public void run()
{
int i,j = 0;
if( INnum < 0)
{
System.err.println("The number must be greater than 0!");
return;
}
else if(INnum == 0 || INnum == 1)
{
System.out.println("No prime numbers ");
}
else
{
for(i=2; i<=INnum; i++)
{
for(j=2; j<i/2+1; j++)
{
if(i%j == 0)
break;
}
if(j >= i/2+1)
System.out.println(i);
}
}
}
}
public class cz01
{
public static void main(String[] args)
{
if(args.length <= 0)
{
System.err.println("Usage: java ThreadTester <integer value>");
return;
}
else
{
Prime thrd = new Prime(Integer.parseInt(args[0]));
thrd.start();
}
}
}
运行结果:。

相关文档
最新文档