计算机操作系统教程_张尧学【课后练习答案、复习资料】 下载本文

单独的保护键。在程序状态字中则设置相应的保护键开关字段,对不同的进程赋予不同的开关代码以和被保护的存储块中的保护键匹配。保护键可以没臂成对读写同时保护的或只对读写进行单项保护的。如果开关字段与保护键匹配或存储块未受到保护,则访问该存储块是允许的,否则将产生访问出错中断。

另外一种常用的硬软件内存保护方式是:界限存储器与CPU的用户态,核心态相结合的保护方式。在这种保护方式下,用户态进程只能访问那些在界限寄存器所规定范围内的内存部分,而核心态进程则可以访问整个内存地址空间。 5.如果把DOS的执行模式改为保护模式,起码应做怎样的修改?

答:如果要把DOS的执行模式改成保护模式,起码要为每一个进程设置一对上下界寄存器。上下界寄存器中装有被保护程序和数据段的起始地址和终止地址。在程序执行过程中,在对内存进行访问操作时首先进行访问地址合法性检查,即检查经过重定位之后的内存地址是否在上、下界寄存器所规定的范围之内。若在规定的范围之内,则访问是合法的;否则是非法的,并产生访问越界中断。另外,还应该把指令的访问内存模式由访问实际物理地址改为由逻辑地址变换为物理地址的方式。 6.动态分区式管理的常用内存分配算法有哪几种?比较它们各自的优缺点。

答:动态分区式管理的常用内存分配算法有最先适应法(FF)、最佳适应法(BF)和最坏适应法(WF)。 优缺点比较:

①从搜索速度上看最先适应法最佳,最佳适应法和最坏适应法都要求把不同大小的空闲区按大小进行排队。

②从回收过程来看,最先适应法也是最佳,因为最佳适应法和最坏适应法都必须重新调整空闲区的位置。

③最佳适应法找到的空闲区是最佳的,但是会造成内存碎片较多,影响了内存利用率,而最坏适应法的内存碎片最少,但是对内存的请求较多的进程有可能分配失败。 总之,三种算法各有所长,针对不同的请求队列,它们的效率和功能是不一样的。 7.节讨论的分区式管理可以实现虚存吗?如果不能,需要怎样修改?试设计一个分区式管理实现虚存的程序流程图。如果能,试说明理由。

答:节讨论的分区式管理不能实现虚存。如果要实现虚存,可以在分区的基础之上对每个分区内部进行请求调页式管理。 程序流程图:略。

8.简述什么是覆盖?什么是交换?覆盖和交换的区别是什么?

答:将程序划分为若干个功能上相对独立的程序段,按照程序的逻辑结构让那些不会同时执行的程序段共享同一块内存区的内存扩充技术就是覆盖。交换是指先将内存某部分的程序或数据写入外存交换区,再从外存交换区中调入指定的程序或数据到内存中来,并让其执行的一种内存扩充技术。与覆盖技术相比,交换不要求程序员给出程序段之间的覆盖结构,而且,交换主要是在进程或作业之间进行,而覆盖则主要在同一个作业或同一个进程内进行。另外,覆盖只能覆盖那些与覆盖程序段无关的程序段。 9.什么是页式管理?静态页式管理可以实现虚存吗?

答:页式管理就是把各进程的虚拟空间划分为若干长度相等的页面,把指令按页面大小划分后存放在内存中执行或只在内存中存放那些经常被执行或即将被执行的页面,而那些不被经常执行以及在近期内不可能被执行的页面则存放于外存中,按一定规则调入的一种内存管理方式。

静态页式管理不能实现虚存,这是因为静态页式管理要求进程或作业在执行前全部被装入内存,作业或进程的大小仍受内存可用页面数的限制。

10.什么是请求页式管理?试设计和描述一个请求页式管理时的内存页面分配和回收算法(包括缺页处理部分)。

答:请求页式管理是动态页式内存管理的一种,它在作业或进程开始执行之前,不把作业或进程的程序段和数据段一次性的全部装入内存,而只装入被认为是经常反复执行和调用的工作区部分。其他部分则在执行过程中动态装入。请求页式管理的调入方式是,当需要执行某条指令而又发现它不在内存时,或当执行某条指令需要访问其他数据或指令时,而这些指令和数据又不在内存中,从而发生缺页中断,系统将外存中相应的页面调入内存。

请求页式管理的内存页面分配和回收算法:略。

11.请求页式管理中有哪几种常用的页面置换算法?试比较它们的优缺点。

答:比较常用的页面置换算法有:

(1)随机淘汰算法(randomglongram)。即随机地选择某个用户页面并将其换出。

(2)轮转法RR(roundrobin)。轮转法循回换出内存可用区内一个可以被换出的页,无论该页是刚被换进或已经换进内存很长时间。 (3)先进先出法FIFO(firstinfirstout)。FIFO算法选择在内存驻留时间最长的一页将其淘汰。

(4)最近最久未使用页面置换算法I.RU(1east recently unused)。该算法的基本思想是:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页面先淘汰。

(5)理想型淘汰算法OPT(optimalreplacementalgorithm)。该算法淘汰在访问串中将来再也不出现的或是在离当前最远的位置上出现的页面。 14.什么是段式管理?它与页式管理有何区别?

答:段式管理就是将程序按照内容或过程(函数)关系分成段,每段拥有自己的名字。一个用户作业或进程所包含的段对应于一个二维线性虚拟空间,也就是一个二维虚拟存储器。段式管理程序以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址。[司页式管理时——样,段式管理也采用只把那些经常访问的段驻留内存,而把那些在将来,——段时间内不被访问的段放入外存,待需要时自动调入相关段的方法实现二维虚拟存储器。段式管理和页式管理的主要区别有: (1)页式管理中源程序进行编译链接时是将主程序、子程序、数据区等按照线性空间的—维地址顺序排列起来。段式管理则是将程序按照内容或过程(函数)关系分成段,每段拥有自己的名字。—一个用户作业或进程所包含的段对应于一个二:维线性虚拟空间,也就是一个二维虚拟存储器。

(2)同动态页式管理一样,段式管理也提供了内外存统——管理的虚存实现。与页式管理不同的是:段式虚存每次交换的是一段有意义的信息,而不是像页式虚存管理那样只交换固定大小的页,从而需要多次的缺页中断才能把所需信息完整地调入内存。 (3)在段式管理中,段长可根据需要动态增长。这对那些需要不断增加或改变新数据或子程序的段来说,将是非常有好处的。

(4)段式管理便于对具有完整逻辑功能的信息段进行共享。

(5)段式管理便于进行动态链接,而页式管理进行动态链接的过程非常复杂。 15.段式管理可以实现虚存吗?如果可以,简述实现方法。

答:段式管理可以实现虚存。

段式管理把程序按照内容或过程(函数)关系分成段,每段拥有自己的名字。一个用户作业或进程所包含的段对应于—个二维线性虚拟空间(段号s与段内相对地址w),也就是一个二维虚拟存储器。段式管理以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址。只把那些经常访问的段驻留内存,而把那些在将来一段时间内不被访问的段放入外存,待需要时产生缺段中断,自动调入。 16.为什么要提出段页式管理?它与段式管理及页式管理有何区别?

答:因为段式管理和页式管理各有所长。段式管理为用户提供了一个二维的虚拟地址空间,反映了程序的逻辑结构,有利于段的动态增长以及共享和内存保护等,这极大地方便了用户。而分页系统则有效地克服了碎片,提高了存储器的利用效率。从存储管理的目的来讲,主要是方便用户的程序设计和提高内存的利用率。所以人们提出了将段式管理和页式管理结合起来让其互相取长补短的段页式管理。段页式管理与段式和页式管理相比,其访问时间较长。因此,执行效率低。 17.为什么说段页式管理时的虚拟地址仍是二维的?

答:因为在段页式内存管理中,对每—一段内的地址空间进行分页式管理只是为了克服在内存分配过程中产:生的大量碎片,从而提高存储器的利用效率,它并没有改变段内地址空间的一维结构,所以段页式内存管理中的虚拟地址仍然和段式内存管理中的虚拟地址一样,是二维结构的。

18.段页式管理的主要缺点是什么?有什么改进办法?

答:段页式管理的主要缺点是对内存中指令或数据进行存取时,至少需要对内存进行三次以上的访问。第一次是由段表地址寄存器取段表始址后访问段表,由此取出对应段的页表在内存中的地址。第二次则是访问页表得到所要访问的指令或数据的物理地址。只有在访问了段表和页表之后,第三次才能访问真正需要访问的物理单元。显然。这将大大降低CPU执行指令的速度。改进办法是设置快速联想寄存器。在快速联想寄存器中.存放当前最常用的段号s,页号p和对应的内存页面地址与其他控制项。当需要访问内存空间某一单元时,可在通过段表、页表进行内存地址查找的同时,根据快速联想寄存器查找其段号和页号。如果所要访问的段或页的地址在快速联想寄存器中,则系统不再访问内存中的段表、页表而直接把快速联想寄存器中的值与页内相对地址d

拼接起来得到内存地址。

19.什么是局部性原理?什么是抖动?你有什么办法减少系统的抖动现象?

答:局部性原理是指在几乎所有程序的执行过程中,在一段时间内,CPU总是集中地访问程序中的某—个部分而不是对程序的所有部分具有平均的访问概率。抖动是指当给进程分配的内存小于所要求的工作区时,由于内存外存之间交换频繁,访问外存的时间和输入输出处理时间大大增加,反而造成CPU因等待数据而空转,使得整个系统性能大大下降。在物理系统中,为防止抖动的产生,在进行淘汰或替换时,—般总是把缺页进程锁住,不让其换出,从而防止抖动发生。防止抖动发生的另一个办法是设置较大的内存工作区。 第八章 文件系统

1.什么是文件、文件系统?文件系统有哪些功能?

答:在计算机系统中,文件被解释为一组赋名的相关字符流的集合,或者是相关记录的集合。

文件系统是操作系统中与管理文件有关的软件和数据。

文件系统的功能是用户建立文件,撤销、读写修改和复制文件,以及完成对文件的按名存取和进行存取控制。

2.文件系统一般按什么分类?可以分为哪几类?

答:文件系统一般按性质、用途、组织形式、文件中的信息流向或文件的保护级别等分类。

按文件的性质与用途可以分为系统文件、库文件和用户文件。按文件的组织形式可以分为普通文件、目录文件和特殊文件。按文件中的信息流向可以分为输入文件、输出文件和输入/输出文件。按文件的保护级别可以分为只读文件、读写文件、可执行文件和不保护文件。

3.什么是文件的逻辑结构?什么是记录?

答:文件的逻辑结构就是用户可见的结构,可分为字符流式的无结构文件和记录式的有结构文件两大类。

记录是一个具有特定意义的信息单位,它由该记录在文件中的逻辑地址(相对地址)与记录名所对应的一组关键字、属性及其属性值所组成。

7.文件的物理结构有哪几种?为什么说串联文件结构不适于随机存取?

答:文件的物理结构是指文件在存储设备上的存放方法。常用的文件物理结构有连续文件、串联文件和索引文件3种。

串联文件结构用非连续的物理块来存放文件信息,这些非连续的物理块之间没有顺序关系,链接成一个串联队列,搜索时只能按队列中的串联指针顺序搜索,存取方法应该是顺序存取的。否则,为了读取某个信息块而造成的磁头大幅度移动将花去较多的时间。因此,串联文件结构不适于随机存取。

第八章文件系统第八章文件系统第八章文件系统1

1.什么是文件目录?文件目录中包含哪些信息?

答:一个文件的文件名和对该文件实施控制管理的说明信息称为该文件的说明信息,又称为该文件的目录。

文件目录中包含文件名、与文件名相对应的文件内部标识以及文件信息在文件存储设备上第一个物理块的地址等信息。另外还可能包含关于文件逻辑结构、物理结构、存取控制和管理等信息。

12.二级目录和多级目录的好处是什么?符号文件目录表和基本文件目录表是二级目录吗?

答:二级目录和多级目录的好处是可以减少文件命名冲突和提高对目录表的搜索速度。 符号文件目录表和基本文件目录表是实现文件共享的一种方法,并不是二级目录。 第九章 外部设备管理

1. 设备管理的目标和功能是什么?

答:设备管理的目标是:选择和分配输入/输出设备以便进行数据传输操作;控制输入/输出设备和CPU(或内存)之间交换数据,为用户提供一个友好的透明接口,提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作,以使操作系统获得最佳效率。设备管理的功能是:提供和进程管理系统的接口;进行设备分配;实现设备和设备、设备和CPU等之间的并行操作;进行缓冲区管理。 2.数据传送控制方式有哪几种?试比较它们各自的优缺点。

答:数据传送控制方式有程序直接控制方式、中断控制方式、DMA方式和通道方式4种。

程序直接控制方式就是由用户进程来直接控制内存或CPU和外围设备之间的数据传送。它的优点是控制简单,也不需要多少硬件支持。它的缺点是CPU和外围设备只能串行工作;设备之间只能串行工作,无法发现和处理由于设备或其他硬件所产生的错误。 中断控制方式是利用向CPU发送中断的方式控制外围设备和CPU之间的数据传送。它的优点是大大提高了CPU的利用率且能支持多道程序和设备的并行操作。它的缺点是由于数据缓冲寄存器比较小,如果中断次数较多,仍然占用了大量CPU时间;在外围设备较多时,由于中断次数的急剧增加,可能造成CPU无法响应中断而出现中断丢失的现象;如果外围设备速度比较快,可能会出现CPU来不及从数据缓冲寄存器中取走数据而丢失数据的情况。

DMA方式是在外围设备和内存之间开辟直接的数据交换通路进行数据传送。它的优点是除了在数据块传送开始时需要CPU的启动指令,在整个数据块传送结束时需要发中 断通知CPU进行中断处理之外,不需要CPU的频繁干涉。它的缺点是在外围设备越来越 多的情况下,多个DMA控制器的同时使用,会引起内存地址的冲突并使得控制过程进一步复杂化。

通道方式是使用通道来控制内存或CPU和外围设备之间的数据传送。通道是一个独立与CPU的专管输入/输出控制的机构,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些指令受CPU启动,并在操作结束时向CPU发中断信号。该方式的优点是进一步减轻了CPU的工作负担,增加了计算机系统的并行工作程度。缺点是增加了额外的硬件,造价昂贵。

3.什么是通道?试画出通道控制方式时的CPU、通道和设备的工作流程图。

答:通道是一个独立与CPU的专管输入/输出控制的机构,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些指令受CPU启动,并在操作结束时向CPU发中断信号。

4. 什么是中断?什么叫中断处理?什么叫中断响应?

答: 中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行的过程。CPU转去执行相应的事件处理程序的过程称为中断处理。CPU收到中断请求后转到相应的事件处理程序称为中断响应。 5.什么叫关中断?什么叫开中断?什么叫中断屏蔽?

答:把CPU内部的处理机状态字PSW的中断允许位清除从而不允许CPU响应中断叫做关中断。设置CPU内部的处理机状态字PSW的中断允许位从而允许CPU响应中断叫做开中断。

中断屏蔽是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应

6.什么是陷阱?什么是软中断?试述中断、陷阱和软中断之间异同。

答:陷阱指处理机和内存内部产生的中断,它包括程序运算引起的各种错误,如地址非法、校验错、页面失效。存取访问控制错、从用户态到核心态的切换等都是陷阱的例子。软中断是通信进程之间用来模拟硬中断的一种信号通信方式。 7.描述中断控制方式时的CPU动作过程。

答:(1)首先,CPU检查响应中断的条件是否满足。如果中断响应条件不满足,则中断处理无法进行。

(2)如果CPU响应中断,则CPU关中断。 (3)保存被中断进程现场。 (4)分析中断原因,调用中断处理子程序。(5)执行中断处理子程序。 (6)退出中断,恢复被中断进程的现场或调度新进程占据处理机。 (7)开中断,CPU继续执行。 8.什么是缓冲?为什么要引入缓冲?

答:缓冲即是使用专用硬件缓冲器或在内存中划出一个区域用来暂时存放输入输出数据的器件。

引入缓冲是为了匹配外设和CPU之间的处理速度,减少中断次数和CPU的中断处理时间,同时解决DMA或通道方式时的数据传输瓶颈问题。

9.设在对缓冲队列em,in和out进行管理时,采用最近最少使用算法存取缓冲区,即在把一个缓冲区分配给进程之后,只要不是所有其他的缓冲区都在更近的时间内被使用过,则该缓冲区不再分配出去。试描述过程tah—buf(type,number)和add—buf(type,number)。

答:对每个缓冲区设置一个时间标志位,其取值为该缓冲区上次放入队列时的系统时间。

take——buf(type,number) {

取出时间标志位最小的缓冲区 }

add—-bur(type,number) {

把缓冲区放入队列,并获取当前系统时间赋给其时间标志位 }

10.试述对缓冲队列em,in和out采用最近最少使用算法对改善I/O操作性能有什么好处?

答:采用最近最少使用算法可以保留那些在最近一段时间内使用次数较多的缓冲区,而这些缓冲区继续被使用的可能性比较大,从而可以减少缓冲区分配和回收的次数,避免了频繁的分配、回收操作,所以可以改善I/O操作性能。 1l.用于设备分配的数据结构有哪些?它们之间的关系是什么?

答:用于设备分配的数据结构有:设备控制表DCT、系统设备表SDT、控制器表COCT和通道控制表CHCT。SDF整个系统一张,每个设备有一张DCT,每个控制器有一张COCT,每个通道有一张 CHCT。SDF中有一个DCT指针,DCT中有一个COCT指针,COCT中有一个CHCT指针。

12.设计一个设备分配的安全检查程序,以保证把某台设备分配给某进程时不会出现死锁。

答:参见教材72页避免死锁章节。

13.什么是I/O控制?它的主要任务是什么7

答:I/O控制是指从用户进程的输入/输出请求开始,给用户进程分配设备和启动有关设备进行I/O操作,并在I/O操作完成之后响应中断,直至善后处理为止的整个系统控制过程。

/O控制可用哪几种方式实现?各有什么优缺点?

答:I/O控制过程可用三种方式实现:作为请求I/O操作的进程实现;作为当前进程的一部分实现;由专门的系统进程——I/O进程完成。

第一种方式请求对应I/O操作的进程能很快占据处理机,但要求系统和I/O操作的进程应具有良好的实时性。

第二种方式不要求系统具有高的实时性,但I/O控制过程要由当前进程负责。 第三种方式增加了一个额外的进程开销,但用户不用关心I/O控制过程。 15.设备驱动程序是什么?为什么要有设备驱动程序?用户进程怎样使用驱动程序?

答:设备驱动程序是驱动外部物理设备和相应DMA控制器或I/O控制器等器件,使之可以直接和内存进行I/O操作的子程序的集合。它们负责设置相应设备有关寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。设备驱动程序屏蔽了直接对硬件操作的细节,为编程者提供操纵设备的友好接口。用户进程通过调用设备驱动程序提供的接口来使用设备驱动程序。

复习题:

1.计算机的操作系统是一种( B)。

A.应用软件B.系统软件 C.工具软件D.字表处理软件 2.UNIX属于一种( A)操作系统。

A.分时系统B.批处理系统C.实时系统D.分布式系统 3.操作系统是一组( C)程序。

A.文件管理B.中断处理C.资源管理D.设备管理 4.下里四个操作系统中,是分时系统的为(C)。 M NT

5.用户要在程序获得系统帮助,必须通过(D??)。 A.进程调度B.作业调度 C.键盘命令 D.系统调用