1 / 20
文档名称:

操作系统实用教程(第二版)-OS习题答案.pdf

格式:pdf   大小:1,823KB   页数:20页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统实用教程(第二版)-OS习题答案.pdf

上传人:1781111**** 2024/5/11 文件大小:1.78 MB

下载得到文件列表

操作系统实用教程(第二版)-OS习题答案.pdf

相关文档

文档介绍

文档介绍:该【操作系统实用教程(第二版)-OS习题答案 】是由【1781111****】上传分享,文档一共【20】页,该文档可以免费在线阅读,需要了解更多关于【操作系统实用教程(第二版)-OS习题答案 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..操作系统****题解答存储程序式计算机的主要特点是什么?答:主要特点是以顺序计算为基础,根据程序规定的顺序依次执行每一个操作,控制部件根据程序对整个计算机的活动实行集中过程控制,即为集中顺序过程控制。这类计算是过程性的,实际上这种计算机是模拟人们的手工计算的产物。即首先取原始数据,执行一个操作,将中间结果保存起来;再取一个数,和中间结果一起又执行一个操作,如此计算下去。在遇到多个可能同时执行的分支时,也是先执行完一个分支,然后再执行第二个分支,直到计算完毕。?答:批处理系统是在解决人—机矛盾以及高速度的中央处理机和低速度的I/O设备这两对矛盾的过程中发展起来的。它的出现改善了CPU和外设的使用情况,其特点是实现了作业的自动定序、自动过渡,从而使整个计算机系统的处理能力得以提高。在多道系统中,若采用了分时技术,就是分时操作系统,它是操作系统的另一种类型。它一般采用时间片轮转的办法,使一台计算机同时为多个任务服务。对用户都能保证足够快的响应时间,并提供交互会话功能。它与批处理系统之间的主要差别在于,分时系统是人机交互式系统,响应时间快;而批处理系统是作业自动定序和过渡,无人机交互,周转时间长。?一个实时信息处理系统和一个分时系统从外表看来很相似,它们有什么本质的区别呢?答:实时系统对响应时间的要求比分时系统更高,一般要求响应时间为秒级、毫秒级甚至微秒级。将电子计算机应用到实时领域,配置上实时监控系统,便组成各种各样的专用实时系统。实时系统按其使用方式不同分为两类:实时控制系统和实时信息处理系统。实时控制是指利用计算机对实时过程进行控制和提供监督环境。实时信息处理系统是指利用计算机对实时数据进行处理的系统。实时系统大部分是为特殊的实时任务设计的,这类任务对系统的可靠性和安全性要求很高。与分时系统相比,实时系统没有那样强的交互会话功能,通常不允许用户通过实时终端设备去编写新的程序或修改已有的程序。实时终端设备通常只是作为执行装置或询问装置,属专用系统。?试述多道程序运行的特征。答:多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插地运行。多道程序运行的特征如下:(1)多道:计算机内存中同时存放几道相互独立的程序。(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。(3)微观上串行:从微观上看,内存中的多道程序轮流地或分时地占有处理机,交替执行(单处理机情况)。?从资源管理的角度去分析操作系统,它的主要功能是什么?答:操作系统是一个大型的程序系统,它负责计算机的全部软、硬件资源的分配与回收,控制与协调等并发活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境,为用户扩展新的系统功能提供软件平台,操作系统使整个计算机系统实现了高效率和高度自动化。,供参考!:..操作系统的主要功能是管理系统的软、硬件资源,它们可归为四类:处理机管理、存储管理、设备管理和文件管理等。?为什么会具有这样的特征?答:操作系统的特征有:并发性,共享性,不确定性,虚拟性。其中并发性和共享性是其主要特征。由于操作系统建立并控制着多个并发执行的进程,完成着同时进行的几项任务,进程之间相互制约,并且共享着系统的某些资源,进程的这些活动便形成了操作系统的主要特征。并且许多事件的产生是随机的,而且事件产生的先后顺序又有许多可能组合,但操作系统必须能处理任何一种可能的事件序列。所以,操作系统又具有不确定性。另外,操作系统中还广泛使用了虚拟技术,使得配备了操作系统之后的系统在资源的使用上更加自由和灵活,不受物理设备数量的限制。、打印机两台,现有二道程序同时投入运行,且程序A先开始运行,程序B后运行。程序A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。程序B运行的轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。要求:(1)用图画出这二道程序并发执行时的工作情况。(2)说明在二道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?(3)程序A、B运行时有无等待现象?在什么时候会发生等待现象?答:(1)工作情况如图。5100ms5100ms程序A计打计打5582100ms程序B等计输等计时间051015182030(2)CPU有空闲等待,它发生在100ms150ms时间段内,此时间段内程序A与程序B都在进行I/O操作。(3)程序A无等待现象,程序B在0ms?50ms时间段与180ms?200ms时间段内有等待现象。工作情况的另一种描述形式如下:程序A程序B输入设备打印机,供参考!15200ms0ms50101830:..进程管理****题现代操作系统中为什么要引入“进程”概念?它与程序有什么区别?答:之所以要引入进程的概念,是因为在一些可以并发的程序段之间,存在着某种相互制约的关系,每个程序段的执行不仅要受到其它程序执行的制约,而且还要动态地依赖系统资源的分配情况,因此每个可以并发执行的程序段就会因外界条件的限制而不能运行,被迫处于阻塞状态。仅用程序的概念无法表示程序的走走停停以及程序运行过程中对资源的竞争现象,因此需要采用一种动态的概念描述并发程序这种走走停停的现象,这就产生了进程的概念。进程和程序的区别:(1)进程是程序的执行过程,是动态的过程,属于一种动态概念。程序是一组有序静态指令和数据的集合,用来指示处理机的操作,是一种静态概念。(2)从结构上看,每个进程实体是由程序段和相应的数据段两部分构成,并且进程结构中还要包含PCB,即进程控制块。(3)一个进程可以涉及到一个或几个程序的执行;反之,同一程序可以对应多个进程,即同一个程序段可以在不同数据集合上运行,可以构成不同的进程。(4)进程能真实地描述并发执行的过程,而程序仅仅是静态指令堆积的序列。(5)进程有可创建其他进程的功能,而一般的程序不具有创建其它程序的功能。(6)每一个程序都是在一个进程现场中运行的。2叙述进程的并发性和制约性。答:并发性是进程的重要特征。即多道程序中多个进程同时向前推进的过程,没个进程总是与其它进程并发地执行的。进程的制约性是指一个进程的运行受到另一进程的制约。比如有的进程可能正在等待另一进程的计算结果而无法运行,或者进程所需的资源被别的进程占有而无法运行。3进程的含义是什么?如何构造和描述进程?答:进程是程序的一次执行。进程由“进程控制块+程序+数据”构成,用进程控制块描述进程。4有三个并发进程,R负责从输入设备读入信息并传送给M,M将信息加工并传送给P,P将打印输出,写出下列条件下的并发程序。(1)双缓冲区,每个区大小为K。(2)单缓冲区,其大小为K。答:(1)双缓冲区,每个区大小为K,信号量初值如下:mutexR=mutexP=1;emptyR=emptyP=k;,供参考!:..变量的初值如下:inR=outR=inP=outP=0;用类Pascal编写程序如下:varmutexR,mutexP,emptyR,fullR,emptyP,fullP:semaphere;inR,outR,inP,outP:integer;buffer:array0..k-1ofitem;bufferP:array0..k-1ofitem;procedureRbeginwhiletruedobegin输入数据data1;P(emptyR);P(mutexR);bufferR(inR):=data1;inR:=(inR+1)mod(k);V(mutexR);V(fullR);endend;procedureMbeginwhiletruedobeginP(fullR);P(mutexR);data2:=bufferR(outR);outR:=(outR+1)mod(k);V(mutexR);V(emptyR);对data2进行加工;P(emptyP);P(mutexP);bufferP(inP):=data2;inP:=(inP+1)mod(k);V(mutexP);V(fullP);endend;procedureP:beginwhiletruedo,供参考!:..P(fullP);P(mutexP)data3:=bufferP(outP);outP:=(outP+1)mod(k);V(mutexP);V(emptyP);打印data3;endend;beginseminitinal(,1;,1;,k;,0;,k;,0);inR:=0;outR:=0;inP:=0;outP:=0;cobeginR;M;P;coendend.(2)单缓冲区,大小为kvarempty,full,ok,mutex:semaphere;inR,outR,inP,outP:integer;buffer:array0..k-1ofitem;procedureR:beginwhiletruedobegin输入数据data1;P(empty);P(mutex);buffer(inR):=data1;inR:=(inR+1)mod(k);V(mutex);V(full)endend;procedureM:beginwhileturedobeginP(full);,供参考!:..data2:==buffer(outR);outR:=(outR+1)mod(k);V(mutex);对data2加工;P(mutex);buffer(inP):=data2;inP:=(inP+1)mod(k);V(mutex);V(ok);endend;proedureP:beginwhileturedobeginP(ok);P(mutex);data3:=buffer(outP);outP:=(outP+1)mod(k);V(mutex);V(empty);打印data3;end;endbeginseminitial(,k;,0;,0;,1);inR:=0;outR:=0;inP:=0;outP:=0;cobeginR;M;P;,交换两个V操作的次序会有什么结果?交换两P操作的次序呢?说明理由。答:交换两P操作的次序有可能造成死锁。例如,当无空缓冲区时,如果此时生产者先做互斥操作,即:P(mutex),然后才做同步操作P(empty),由于此时empty=-1造成生产者被阻塞。当消费者执行到互斥操作P(mutex)时,由于生产者已执行过P(mutex)并未作释放,所以此时mutex=-1,造成消费者也被阻塞,生产者等消费者释放空缓冲区,而消费者则等待生产者释放临界资源的使用权,所以两个进程都无法向前推进而造成死锁。交换两个V操作的次序不会发生死锁。,供参考!:..6设有三个进程A、B、C,其中A与B构成一对生产者与消费者(A为生产者,B为消费者),共享一个由n个缓冲块组成的缓冲池;B与C也构成一对生产者与消费者(此时B为生产者,C为消费者),共享另一个由m个缓冲块组成的缓冲池。用P、V操作描述它们之间的同步关系。答:varmutexA,emptyA,fullA,mutexC,emptyC,fullC:semaphere;i,j,a,b:integer;bufferA:array0..n-1ofitembufferC:array0..m-1ofitem;procedureproduceA:生产者进程AbeginwhileturedobeginProducenextproduct;P(emptyA);P(mutexA);bufferA(i):=products;i:=(i+1)mod(n);V(mutexA);V(fullA)endendprocedureconsumer_procedurerB:消费者和生产者进程BbeginwhileturedobeginP(fullA);P(mutexA);Goods:=buffer(j);j:=(j+1)mod(n);V(mutexA);V(emptyA);ConsumegoodsandProducenextproductC;P(emptyC);P(mutexC);BufferC(a):=productC;a:=(a+1)mod(m);V(mutexC);V(fullC)endend;,供参考!:..consumerC;消费者C进程beginwhileturedobeginP(fullC);P(mutexC);Goods:=bufferC(b);b:=(b+1)mod(m);V(mutexC);V(emptyC);Consumeproduct;endend;beginSeminitsal(,1;,1;,n;,m;,0;,0);i:=0;j:=0;a:=0;b:=0;cobeginproduceAconsumer_procedurerB;,共有100个座位。读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名。读者离开时要消掉登记内容。试用P、V操作描述读者进程的同步结构。答:varmutex:semaphere;信号量,用于互斥full:semaphere;信号量,用于同步table:array0..n-1ofitem;登记表procedurereader;读者进程beginP(full);P(mutex);Register_name(table);V(mutex);Reading;P(mutex);Delet_name(table);V(mutex);V(full),供参考!:..;beginseminitsal(,1;,100);初始化cobeginreader;reader;...?答:引入线程的目的是提高程序执行的并行度。9引入管程的目的是什么?答:引入管程的目的把分散的临界区集中起来管理,为每个可共享的资源设立一个专门的机构来统一管理各进程对该共享资源的访问。这样使互斥操作更安全,既便于系统管理共享资源,又能保证互斥访问。10用管程实现读者与写者关系。管程部分描述如下:monitorrw;conditionwrt;varreadcount:integer;procedureentryread_start();beginreadcount:=readcount+1;end;procedureentryread_finish();beginreadcount:=readcount-1;ifreadcount=0thensingal(wrt)end;procedureentrywrite();beginifreadcount>0thenwait(wrt);performwriting;endbeginreadcount:=0endend;主程序部分:,供参考!:..();untilfalse;endprocedurereader:();performreading;();untilfalse;endcobeginreader;writter;?答:进程通信是指进程之间的信息交换。12消息通信机制中应设置哪些基本通信原语?答:应设置send(A)(发送消息)原语,A是原语的参数,表示发送区的起始地址。receive(B)(接受消息)原语,B是接受进程提供的接收区起始地址。13何谓死锁?举例说明之。答:两个以上的进程相互等待一个永远不可能发生的条件而无法向前推进,这种僵局称为死锁。例如:如图所示的单行道上的交通阻塞。,供参考!:..?何谓地址空间?何谓存储空间?答:名字空间:程序中符号名的集合。地址空间:在目标模块中的地址的集合。存储空间:实际内存地址的集合。?答:不能,因为虚拟存储最重要的特点就是离散性,而分区分配方案只适用于连续分配方式,即全部程序都放在内存,而不允许程序运行时一部分在内存、一部分在外存。所以,无法提供内存的逻辑扩充功能。?如何实现?答:动态重定位便于程序浮动。由于在目标模块装入内存时无需对其进行任何修改,因而装入之后再搬迁也不会影响其正确执行。实现时,需要采用动态重定位硬件机构:重定位寄存器和加法器。如图所示。?1001LOAD000LOAD0111,3001,300001005678567831??,引入分页存储管理是为了满足用户哪几方面的需求?答:1、为了充分利用空闲的存储空间,采取内存的不连续分配;2、为了消除外零头,采用等分内存;3、为了程序的浮动方便,采用动态地址重定位;4、为了从逻辑上扩充内存,按照逻辑地址空间来访问程序,采用了虚拟存储管理。?答:因为分段是按照逻辑功能分段,这样在地址变换时,针对的是一个完整的逻辑功能段,所以可以在实际需要时进行动态连接。而分页则是按照物理页的大小划分所以一定要事先将,供参考!:..所有的页面联接成一个整体后才能实现地址变换。?试比较它们的优缺点。答:(1)先进先出(FIFO)(2)最近最少使用的淘汰算法(LRU)(3)最近不经常使用的淘汰算法(LFU)(4)最优算法(OPT)FIFO算法最简单,但效率不高。LRU的近似算法和LFU是较为实用的算法,效果较好,实现也不难。OPT算法是最佳算法,但并不实用,因为要跟踪各页面方可预测未来,而这种预测往往是困难的。?答:设备管理的主要目标是:1)选择和分配输入/输出设备以便进行数据传输操作;2)控制输入/输出设备和CPU(或内存)之间交换数据;3)为用户提供一个友好的透明接口,把用户和设备的硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求控制设备工作;4)提高设备和设备之间、CPU和设备之间以及进程和进程之间的并行操作度,以使操作系统获得最佳效率。设备管理程序的主要功能是:1)提供和进程管理系统的接口。当进程申请设备资源时,该接口将进程的请求转送给设备管理程序;2)进行设备分配;3)实现设备和设备、设备和CPU等之间的并行操作;4)进行缓冲区管理。?试比较它们各自的优缺点。答:外部设备和内存之间的常用数据传送控制方式有四种。它们是:1)程序直接控制方式;其优点是控制简单,所需硬件支持少。其缺点是CPU和外部设备只能串行工作,CPU的利用率低;不能实现设备之间的并行工作;只适用于那些CPU执行速度较慢,而且外部设备较少的系统。2)中断控制方式;其优点是所需硬件支持较少,与程序直接控制方式相比,使CPU的利用率大大提高且能支持多道程序和设备的并行操作。其缺点是消耗的CPU处理时间较多;随着外部I/O设备的增多和速度的提高,可能会造成CPU无法响应中断和出现数据丢失现象。3)DMA方式;其优点是I/O速度较快,大大减少了CPU进行中断处理的次数;排除了因并行操作设备过多时CPU来不及处理或因速度不匹配而造成数据丢失等现象。其缺点是所需硬件较多;多个DMA控制器的同时使用会引起内存地址的冲突并使得控制过程进一步,供参考!:..复杂化。4)通道方式;其优点是I/O速度快,进一步减轻了CPU的工作负担和增加了计算机系统的并行工作能力。其缺点是控制较复杂,所需的硬件最复杂。?试画出通道控制方式时的CPU、通道和设备的工作流程图。答:通道是一个独立于CPU的专管输入/输出控制的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,可由CPU执行相应指令来启动通道,并在操作结束时向CPU发中断信号。在运行的时候,通道有自己的总线控制部分,可以进行总线操作。在有了通道之后,CPU仅需发出一条I/O指令给通道,说明要执行的I/O操作和要访问的I/O设备。通道接到指令后,就启动相应的通道程序来完成I/O操作。如下图:设C指定通道接收发start指令,指到start指令明I/O操作、设备号和对应通道,允许中通道设置设备断位与启动位置1的控制寄存器当前进程等待,调数据入数据缓度程序调度其它进程冲寄存器被调度进程缓冲寄存器的内容入内存否接收改变设备控制到中断信号吗?寄存器的内容是否传送转中断处理完毕?是发中断信号,停止I/?何谓中断处理?何谓中断响应?答:中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后,又返回原来被中断处继续执行的过程。CPU转去执行相应的事件处理程序的过程称为中断处理。CPU收到中断请求后转到相应的事件处理程序称为中断响应。,供参考!:..?何谓关中断?何谓中断屏蔽?答:尽管产生了中断源和发出了中断请求,但CPU内部的处理机状态字PSW的中断允许位已被清除,从而不允许CPU响应中断。这种情况称为禁止中断,也称为关中断。CPU禁止中断后只有等到PSW的中断允许位被重新设置后才能接收中断,PSW的中断允许位的设置被称为开中断。中断屏蔽是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。?何谓软中断?试述中断、陷入和软中断之间异同。答:陷入是指中断指令造成中断;而由程序运算引起的各种错误,如地址非法等称为异常。软中断是通信进程之间用来模拟硬中断的一种信号通信方式,它的处理过程类似于中断过程,但不需要通过硬件来产生中断请求。中断则是指外部设备发出的中断;中断与陷入除在优先级设置方面有区别之外,还有如下区别:(1)陷入通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。也即:对处理机来说,陷入是主动的,而中断是被动的。(2)陷入处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。(3)CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中响应陷入。中断与陷入都可以看作是硬中断,而软中断则不然,它是通信进程之间用来模拟硬中断的一种信号通信方式。软中断和硬中断相同的地方是:其中断源发中断请求或软中断信号后,由接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。。答:CPU向设备发start命令将中断允许位置调度程序调度其他进程执行受到中断否信号了是中断处被中断程序继续执行,供参考!:..?为什么要引入缓冲?答:,减少中断次数和CPU的中断处理时间。(空缓冲区),in(输入缓冲区)和out(输出缓冲区)进行管理时,采用最近最少使用算法存取缓冲区,即在把一个缓冲区分配给进程之后,只要不是所有其它的缓冲区都在更近的时间内被使用过了,则该缓冲区不再被分配出去。试描述过程take_buf(type,number)和add_buf(type,number)。structbuffer{inttype;ess_time;type*next_element;}em,in,out;take_buf(type,number);{buffer*p,number;p=get_the_head_of_thequeue(type);while(p<>null){if(>)return*p;elsep=;}returnnumber;}add_buf(type,number);{buffer*p,number;p=get_the_head_of_thequeue(type);while(p<>null)p=;=number;}?它们之间的关系是什么?答:用于设备分配的数据结构有:设备控制表DCT、系统设备表SDT、控制器表COCT和通道控制表CHCT。,供参考!:..整个系统一张,每个设备有一张DCT,每个控制器有一张COCT,每个通道有一张CHCT。SDT中有一个DCT指针,DCT中有一个COCT指针,COCT中有一个CHCT指针。.设计一个设备分配的安全检查程序,以保证把某台设备分配给某进程是不会出现死锁。答:参见任爱华主编的“计算机操作系统”,。?它的主要任务是什么?答:I/O控制是指从用户进程提出输入/输出请求开始,到为用户进程分配设备和启动有关设备进行I/O操作,并在I/O操作完成之后响应中断,直至善后处理为止的整个系统控制过程。主要任务就是完成进程提出的I/O请求,实现对外设的分配和控制。?各有什么优缺点?答:I/O控制过程在系统中可以按三种方式实现:1)作为请求I/O操作的进程的一部分实现。这种情况下,请求I/O进程应具有良好的实时性,且系统应能根据中断信号的内容准确地调度对应I/O请求的进程占据处理机,因为在大多数情况下,当一个进程发出I/O请求命令之后,都被阻塞睡眠。2)作为当前进程的一部分实现。作为当前进程的一部分实现时,不要求系统具有高的实时性。但由于当前进程与完成的I/O操作无关,所以当前进程不能接受I/O请求命令的处理,因此,如果让请求I/O操作的进程调用I/O操作控制部分(I/O请求处理、设备分配、缓冲区分配等),而让当前进程负责调用中断处理部分也是一种可行的I/O控制方案。3)I/O控制由专门的系统进程I/O进程完成。在用户进程发出I/O请求命令之后,系统调度I/O进程执行,控制I/O操作。同样,在外设发出中断请求之后,I/O进程也被调度执行以响应中断。I/O请求处理模块、设备分配模块以及缓冲区管理模块和中断原因分析、中断处理模块和设备驱动程序模块等都是I/O进程的一部分。?为什么要有设备驱动程序?用户进程怎样使用驱动程序?答:设备驱动程序是驱动物理设备直接进行I/O操作的控制程序。它负责设置与相应设备有关的寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。设备驱动程序作为输入/输出软件中的一个层次,用于把软件的设备操作指令转换为相应的设备控制的机械操作命令,以实现用户软件的设备无关性。当用户进程发出输入/输出请求时,系统把请求处理的权限放在文件系统,文件系统通过驱动程序提供的接口将任务下放到驱动程序,驱动程序对设备控制器进行操作,设备控制器再去控制设备本身。通过这种层层隔离的方式,用户不必了解设备的各种特性,使用户的操作简单易行。,供参考!:..文件系