操作系统第5章(存储器管理习题与解答).pdf

上传人:g****s 文档编号:77345541 上传时间:2023-03-14 格式:PDF 页数:53 大小:1.77MB
返回 下载 相关 举报
操作系统第5章(存储器管理习题与解答).pdf_第1页
第1页 / 共53页
操作系统第5章(存储器管理习题与解答).pdf_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《操作系统第5章(存储器管理习题与解答).pdf》由会员分享,可在线阅读,更多相关《操作系统第5章(存储器管理习题与解答).pdf(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 5 章 存储器管理习题与解答 第 5 章 存储器管理习题与解答 5.2 例题解析 例 5.2.1 为什么要引入逻辑地址?解 引入逻辑地址有如下原因:(1)物理地址的程序只有装入程序所规定的内存空间上才能正确执行,如果程序所规定内存空间不空闲或不存在,程序都无法执行;(2)使用物理地址编程意味着由程序员分配内存空间,这在多道程序系统中,势必造成程序所占内存空间的相互冲突;(3)在多道程序系统中,程序员门无法事先协商每个程序所应占的内存空间的位置,系统也无法保证程序执行时,它所需的内存空间都空闲。(4)基于上述原因,必须引入一个统一的、在编程时使用的地址,它能够在程序执行时根据所分配的内存空间

2、将其转换为对应的物理地址,这个地址就是逻辑地址。(5)逻辑地址的引入为内存的共享、保护和扩充提供方便。例 5.2.2 静态重定位的特点有哪些?(1)实现容易,无需增加硬件地址变换机构;(2)一般要求为每个程序分配一个连续的存储区;(3)在重定位过程中,装入内存的代码发生了改变;(4)在程序执行期间不在发生地址的变换;(5)在程序执行期间不能移动,且难以做到程序和数据的共享,其第 5 章 存储器管理习题与解答 内存利用率低。例 5.2.3 动态重定位的特点有哪些?(1)动态重定位的实现要依靠硬件地址变换机构,且存储管理的软件算法比较复杂;(2)程序代码是按原样装入内存的,在重定位的过程中也不发生

3、变化,重定位产生的物理地址存放在内存地址寄存器中,因此不会改变代码;(3)同一代码中的同一逻辑地址,每执行一次都需要重位一次;(4)只要改变基地址,就可以很容易地实现代码在内存中的移动;(5)动态重定位可以将程序分配到不连续的存储区中;(6)实现虚拟存储器需要动态重定位技术的支持;尽管动态重定位需要硬件支持,但他支持程序浮动,便于利用零散的内存空间,利于实现信息共享和虚拟存储,所以现代计算机大都采用动态重定位。例 5.2.4 装入时动态链接的优点有哪些?(1)便于软件版本的修改和更新 在采用装入时动态链接方式时,要修改或更新各个目标模块,是件非常容易的事,但对于经静态链接以装配在一起的装入模块

4、,如果要修改或更新其中的某个目标模块时,则要求重新打开装入模块,这不仅是低效的,而且对于普通用户是不可能的。第 5 章 存储器管理习题与解答(2)便于实现目标模块共享 若采用装入时动态链接方式,OS 能够将一个目标模块链接到几个应用程序中去。即实现多个应用程序对该模块的共享;然而,采用静态链接方式时每个应用模块都必须含有该目标模块的拷贝,则无法实现共享。例5.2.5 覆盖技术与虚拟存储技术有何本质不同?交换技术与虚存中使用的调入调出技术有何相同和不同之处?解 覆盖技术与虚拟存储技术的本质不同是:(1)虚拟存储器对于程序员时透明的,不需要程序员了解程序结构、覆盖的区域、时机,不需要精心的设计程序

5、及其数据结构,所有的操作由操作系统自动完成。(2)覆盖的程序段的最大长度要受到物理内存容量的限制,而虚拟存储器的最大长度不受物理内存容量的限制,只受计算机地址结构的限制。交换技术与虚存中使用的调入调出技术相同和不同之处:(1)主要相同点是都要在内存与外存之间交换信息;(2)主要区别在于交换技术换出换进一般是整个进程(proc结构和共享正文段除外),因此一个进程的大小受物理存储器的限制;而虚存中使用的调入调出技术在内存与外存之间来回传递的是存储页或存储段,而不是整个进程,从而使得进程映射具有了更大的灵活性,且允许进程的大小比可用的物理存储空间大的多。第 5 章 存储器管理习题与解答 例 5.2.

6、7 有一计算机系统,内存容量为 512K,辅存容量为 2G,逻辑地址形式如下:段号 段内地址 29 20 19 0 求其虚拟存储器的实际容量?解 虚拟内存的实际大小由系统的逻辑地址结构、主存辅存容量共同决定。虚拟内存容量的理论值是 210*220=1G;最大段内地址为220=1M,远大于内存容量,其段长超过 512K的内存容量,故最大实际段长为 512k而不是 1M。所以可计算虚拟存储容量为 210*512K=210*0.5M=0.5G。0.5G2G,因此虚拟存储器的实际容量是 0.5G。例 5.2.8 段页式存储系统中,为了获得一条指令或数据,需几次访问内存?解 在段页式系统中,为了获得一条

7、指令或数据,需三次访问内存。第一次访问,是访问内存中的段表,从中取得页表始址;第二次访问,是访问内存中的页表,从中取出逻辑页面对应的内存物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问,才是真正从第二次访问所得的地址中,取出指令或数据。例 5.2.9 在实存管理上,管理方法主要分成哪两种类型?解 实存管理的方法主要分成:第 5 章 存储器管理习题与解答(1)用户程序需要占用连续的内存空间,如分区存储管理;(2)用户程序不需要占用连续的内存空间,如分页、分段、段页等管理,一个用户程序在内存可能是不连续的,如果它有不只一页或一段的话。例 5.2.10 解释静态链接、装入时动态

8、链接和执行时动态链接的不同。解“链接”(link),本应是编译系统的任务,但是,随着程序执行方式的改进,当出现了“动态链接”之后,“程序链接”就不仅仅是编译系统的事情,它还需要 OS 的支持。程序的静态链接,指的是在程序装入内存之前,由链接程序将已编译好的多个目标模块(.obj文件)链成一个统一的可执行文件。其特点是:链接好的可执行文件可以重复使用和执行;被链接的模块一般不可能再拆开,因而不便修改和更新;不便于多个程序共享某些模块,需使用同一模块的多个程序需分别将该模块链入自己的程序空间。装入时动态链接,指的是在程序加载入内存(准备执行)时,由 OS中的装入程序(如 exec())将存放在盘上

9、的诸多目标模块边装入边在内存链接成一个统一的可执行程序。其特点是:链接好的可执行程序只存在于内存,因而每次执行都要重新链接;被链接的诸目标模块在盘上是各自独立存放的,因而便于修改;便于共享,当多个程序需使用同一模块时,该模块在内存只需一个副本。第 5 章 存储器管理习题与解答 执行时动态链接,是把程序的链接推迟到程序执行时根据执行的需要动态地装入和链接。它除了有与“装入时动态链接”相同的特点外,还有一个显著的特点,是不会将本次执行中不需要的模块(如错误处理模块)装入内存,从而减少时空开销。当然,它也增加了链接的复杂性,且需要一定的硬件支持。动态链接需要 OS 的支持和服务。例 5.2.11 说

10、明静态重定位和动态重定位的区别。解“重定位”,在实际上指的是这样相互联系的两件事情:一是确定一个待执行程序在内存中的位置;二是将程序中的逻辑地址转换成物理地址。说它们是相互联系的,是因为后一件事情是由前一件事情决定的。静态重定位,指的是在程序装入时实现的重定位。具体的讲,就是将程序装入内存后,立即根据其装入位置将程序中需重定位的逻辑地址转换成物理地址,包括指令地址、数据地址、子程序入口地址等。这种“定位”的特点是“定位”之后,内存中的代码发生了变化,程序不能在内存移动,CPU按物理地址运行程序。动态重定位,是在程序执行的过程中,根据执行的需要动态地装入、链接和定位。它不是根据程序在内存的位置立

11、即将指令和数据的逻辑地址转换成物理地址,而是把这种位置信息送入一个称之为“地址映射机构”的硬件中,然后,CPU按逻辑地址执行程序。在执行中,由“映射机构”将逻辑地址及时地转换成正确的访存物理地址。这种定位方法的主要特点是重定位后,内存中的代码没有发生了变化,允许第 5 章 存储器管理习题与解答 程序在执行的过程中在内存移动位置,这只要更换“映射机构”中的启址信息就可将同一程序映射到内存不同的地方。这种位置移动对提高内存空间的利用率是有好处的。例 5.2.12 存储空间分配的“边界要求”是什么意思?为什么有的系统有这种要求?解 空间分配的“边界要求”,指的是要求所分得的空间的起始地址落在所分得空

12、间的大小的整数倍上。例如,若要求分一个 4K 大的空间,则实际分得的空间的起始地址应是 0,4K,8K,12K,;有的系统之所以有这种要求,主要是为了便于机器的判断和管理。例如,在分页存储管理系统内,每一个页面在内存的起始地址都应是页面大小的整数倍,这样才能正确地将一个地址划分成页号和页内位移量两部分,并正确地实现分页管理下的地址映射;又如,若为一个数组分配空间,则所分空间的起始地址也应落在数组元素个数(假定一个元素需要偶数个字节)的整数倍上,这样就可以根据当前地址算出当前处理的是第几个元素,并且,当数组中的所有元素都处理一遍后,此时地址的低部分会与数组起始地址的低部分相同,这样,机器就很容易

13、判断该数组已处理完一遍。例 5.2.13 为什么在分页和分段管理下取一条指令或一个操作数通常需两次访存?如何解决这一问题?解 这是因为用于地址变换的页表或段表也是存放在内存的,为了将第 5 章 存储器管理习题与解答 CPU给出的逻辑地址变成物理地址,首先就要访问内存的页表和段表,然后,根据形成的物理地址再取指令或数据,这就要两次访存。解决这一问题的办法是提供一个称之为“快表”的硬件,用以存放当前运行进程的页表或段表的部分内容,“快表”的访问时间很快,因此可以节约访问页表和段表的时间。存储器访问具有时间和空间的“局部性”,因此快表的命中率一般可达 70%到 90%;页表和段表是在系统执行过程中,

14、每时每刻都需要访问的,因此,访问时间的微小缩短,其累计节约的时间却可以达到很大。例 5.2.14 在分页存储管理系统中,存取一次内存的时间是 8us,查询一次快表的时间是 1us,缺页中断的时间是 20us,假设页表的查询与快表的查询同时进行。当查询页表时,如果该页在内存但快表中没有页表项,系统将自动把该页页表项送入快表。(1)求对某一数据进行一次次存取可能需要的时间?(2)现连续对同一页面上的数据进行 4 次连续读取,求每次读取数据可能需要的时间?解 (1)当系统对数据进行存取时,有 3 种可能性。所存取的数据的页面在内存,其页表项已经存储到快表,此时存取数据的时间是:查询快表的时间+存取内

15、存数据的时间=1us+8us=9us 所存取的数据的页面在内存,但是其页表项没有存储到快表,没第 5 章 存储器管理习题与解答 有命中快表,此时存取数据的时间是:查询页表的时间+存取内存数据的时间=8us+8us=16us 所存取的数据的页面不在内存,发生缺页中断,此时存取数据的时间是:查询页表的时间+缺页中断的时间+查询页表的时间+存取内存数据的时间=8us+20us+8us+8us=44us(2)当对某一数据进行 4 次连续读取时:第 1 次可能的时间为:1us+8us=9us;8us+8us=16us;8us+20us+8us+8us。第 2 次时,对应页面的页表项已经交换到快表中。因为

16、存取是连续的,不存在页面被淘汰的可能性,所以第 2 次、第 3 次、第 4 次的存取时间是一样的,消耗的时间为 1us+8us=9us。例 5.2.15 为什么说分段系统较之分页系统更易于实现信息共享和保护?如何实现。解(1)在分页和分段存储管理系统中,多个进程并发运行,共享同一内存块里的程序或数据是可行的。为了实现共享,必须在各共享者的段表或页表中分别有指向共享内存块的表目。(2)对分段式系统,被共享的程序或数据可作为单独的一段。在物理上它是一段,在不同的进程中,可以对应不同的逻辑段,相对来说比较易于实现。第 5 章 存储器管理习题与解答(3)对分页管理,则要困难的多。首先,必须保证被共享的

17、程序或数据占有整数块,以便与非共享部分分开。其次,由于共享程序或数据被多个进程访问,所以每个进程对共享程序或数据的访问都应该是有限制条件的。(4)因此,从共享和保护的实现上来看,须共享的程序段或数据段是一个逻辑单位,而分段存储管理中被共享的程序或数据作为一个整体(一段),实现共享和保护就要方便得多。(5)分段系统的共享是通过两个(或多个)进程的段表之相应表目都指向同一个物理段,并设置共享计数来实现的。每段设置访问方式,就可以实现段的保护。例 5.2.16 为什么分段管理下的程序共享和保护比分页管理更有意义?解 主要是因为段是一个有意义的逻辑整体,如主程序、子程序、数据表格、工作空间等,就如书本

18、上的一章或一个自然段。而页只是一个物理尺寸,不一定有完整的意义,如书本上的一页。程序共享当然希望被共享的对象是一个有意义的整体,如一个子程序;至于程序保护,指的是每个进程都应按所拥有的存取权访问不同的程序,而存取权(R,W,E等)当然对一个有完整意义的对象才更有意义。所以就共享和保护而言,分段管理比分页管理更有意义。例 5.2.17 虚存与单、多道程序设计,程序重定位,程序动态链接第 5 章 存储器管理习题与解答 以及覆盖和交换技术之间有什么关系?解 从原理上讲,单道程序设计系统也可实现虚存管理,但从实际上看,虚存主要是应用在多道程序设计系统中。虚存的实现需要程序的动态重定位技术的支持,因为程

19、序的对换会导致同一部分程序多次进出内存并有可能在内存中不断地移动位置。虚存与程序的动态链接没有必然的因果关系,但程序的动态链接可以避免无用的程序进入内存,使虚存的效率提高实现;虚存需要覆盖和交换技术的支持,但覆盖和交换与虚存是不同的概念。在实存管理下覆盖和交换是一种可以节省内存的技术,对用户是不透明,覆盖和交换的区由程序结构和程序员决定。而在虚存下的交换和覆盖对程序员是透明的,操作是由 OS 根据某种算法决定的。例 5.2.18 说明什么是置换算法的异常现象,为什么 LRU算法不会有异常现象?解 页面置换算法的异常现象,也叫 Belady异常,是在局部置换前提下的一种现象。所谓局部置换,指的是

20、当一进程创建时,分给其一定数量的页面(例如 8页),然后,在运行过程中,若该进程需调入新页且须置换一个页面时,则只能置换其自己的一个页面而不能置换别的进程的页面。页面置换的异常现象,是指在一定置换算法和一定页面走向下,分给进程的页面数增多其页面失效率反而增加这样一种情况。这种异常,只在一定的算法和一定的页面走向下才会出现。许多算法,如 OPT.第 5 章 存储器管理习题与解答 和 LRU,在任何情况下都不会有异常现象。LRU之所以不会有“异常”,是因为最近的过去使用的n 个页面一定在最近的过去使用的n+1个页面之中。例 5.2.19 什么是抖动现象?如何消除这种现象?解 抖动现象,是在虚存管理

21、下,用于页面(在内、外存之间)对换的时间比程序的有效运行时间还要多的这样一种现象。它可以是一进程内部的局部性抖动,也可以是整个系统的全局性抖动。造成这种情况固然与置换算法和页面走向有关,但其根本原因是多道系统内的进程数太多,从而分给每个进程的页面数太少。因此,解决这一问题的最有效的办法是减少系统内的进程数。Denning于 1980年提出了“L=S准则”,即调整系统内的进程数,使得产生缺页的平均间隔时间(L)等于系统处理进程缺页的平均时间(S)。理论和实践表明,此时的CPU利用率最高。例 5.2.20 有这样一种页面置换算法,它给每一个内存块(块与页大小相等)设置一个计数器,以计数曾经装入过该

22、块的页面数。当需要置换一个页面时,该算法总是将其计数值最小的那个块内的页面换掉,当有多个最小值时,按 FIFO执行。若某进程分得 4 个内存块,现对 1、2、3、4、5、3、4、1、6、7、8、7、8、9、7、8、9、5、4、5、4、2,解答如下问题:(1)求在上述算法下的页面失效数;第 5 章 存储器管理习题与解答(2)求在 OPT.算法下的页面失效数。解(1)求解过程如下表所示 页面号 1 2 3 4 5 3 4 1 6 第 5 章 存储器管理习题与解答 7 8 7 8 9 7 8 9 5 4 5 第 5 章 存储器管理习题与解答 4 2 B1 1 1 1 1 5 5 5 5 5 5 8

23、8 8 8 8 8 8 8 8 8 8 2 B2 2 2 2 2 2 2 1 1 1 1 1 1 9 9 9 9 9 9 9 9 B3 3 3 3 3 3 3 6 6 6 6 6 6 6 6 6 5 5 5 5 B4 4 4 4 4 4 4 7 7 7 7 7 7 7 7 7 4 4 4 C1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 4 C2 0 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 3 3 C3 0 0 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 3 3 3 3 3 C4 0 0 0 1 1 1 1

24、 1 1 2 2 2 2 2 2 2 2 2 3 3 3 3 注:打“”的表示缺页,共有 13 次缺页。第 5 章 存储器管理习题与解答 说明:在上面的求解过程中,B1B4 表示进程分得的 4 个块号,C1C4 表示与这 4块对应的计数器;表中的每一列记录了每一块当前装入的页面及其计数器的值。(2)在 OPT.算法下的页面失效次数为 11。例 5.2.20 在可变分区分配的存储管理方案中,基于链表的存储分配算法有哪几种?它们的思想是什么?解:在可变式分区分配的存储管理方案中,基于链表的存储分配算法主要有三种:首次适应算法、循环首次适应算法和最佳适应算法。(1)首次适应算法 在首次适应算法中,每

25、个空白区按其位置的顺序链在一起,即每个后继的空白区其起始地址总是比前者的大。当系统要分配一个存储块时,就按照空白块链的顺序,一次查询,直到找到第一个满足要求的空白块为止。由这种算法确定的空白块其大小不一定刚好满足要求。如果找到的这个空白区比要求的大,则把它分成两个分区,一个为已分配分区,其大小刚好等于所要求的;另一个仍然为空白块,且留在链中原来的位置上。若是在空白链中从头到尾找一遍,找不到满足要求的空白块,则返回“暂不能分配”。系统在回收一个分区时,首先检查该分区是否有邻接的空白块,如果有,则应将这个分区与之合并,并将该空白块保留在链中原来的位置。如果回收的分区不和空白块邻接,则应根据其起始地

26、址大小,把它插在链中的相应位置上。首次适应算法的实质是,尽可能地利用存储器低地址部分的空白块,第 5 章 存储器管理习题与解答 尽量保存在高地址部分的大空白块。其优点在于:当需要一个较大的分区时,便有希望找到足够大的空白块以满足要求。其缺点是:在回收一个分区时,需要花费较多的时间去查找链表,确定它的位置。(2)循环首次适应算法 循环首次适应算法与首次适应算法类似,只是在每次分配分区时,系统不是从第一个空白块开始查找,而是从上次分配的空白块处查找。当查找至链尾时,便从链首继续查找,直到找完整个链表。在系统回收一个分区时,为了减少在插入一个空白区时查询链表的时间,如果这个分区不和空白块邻接,则把它

27、插入到前向指针链的最后一个空白块后;如果有空白块相邻,则根据情况作相应处理。由此可见,这些空白块在链中的位置没有一定的规则。这种循环首次适应算法的实质是,使得小的空白块均匀地分布在可用存储空间内。这样,当回收一个分区时,它和一个较大空白块相邻的可能性比较大,因而合并后可得到大的空白块。和首次适应算法相比,它产生过小空白块的现象比较小。(3)最佳适应算法 在最佳适应算法中,空白块按大小顺序链在一起。系统在寻找空白块时,总是从最小的一个开始。这样,第一次找到的满足要求的空白块必然是最适合的,因为它最接近于要求的大小。这种算法的优点是:如果存储空间中具有正好是所要求大小的空白块,则必然被选中;如果不

28、存在这样的空白块,也只对比要求稍大的空白块划分,而绝不会去划分一个更大的空白块。此后,遇到有大的存储要求时,就比较容第 5 章 存储器管理习题与解答 易满足了。最佳适应算法的缺点在于:寻找一个较大空白块时花费的时间较长;回收一个分区时,把它插入到空白块链中合适的位置上也较为费时;此外,由于每次都划分一个与要求大小最接近的空白块,使得系统中小的空白块较多。其实质是,在系统中寻找与要求的空间大小最接近的一个空白块。例 5.2.21 在虚拟页式存储系统为什么要引入缺页中断?缺页中断实现由哪几部分组成,并分别说明其实现方法。解 页式虚存管理是在页式存储管理的基础上实现虚拟存储器的,作业在执行时并不是所

29、有的页均放在主存,若欲访问的页面不在主存,则须由操作系统把当前所需页面从辅存装入主存。这一过程就交由中断系统完成,称为缺页中断。缺页中断由缺页处理和页淘汰组成,缺页处理过程如下:(1)中断触发:在地址变换过程中,当查询页表时,发现逻辑页面不在内存,即其状态位为 0,则发生缺页中段。(2)页面调入:OS 在页表中找到对应页面的辅存地址,进行页面的淘汰,将所缺页调入内存;(3)修改页表:将该页面的内存地址填入页表,修改状态位为 1;缺页中断结束,恢复现场,重新执行指令。页面淘汰处理如下:(1)如果内存有空闲的页面,直接调入外存的页面,修改页表;第 5 章 存储器管理习题与解答(2)如果内存没有空间

30、,根据页面淘汰算法,在内存中找到可淘汰的页面;(3)如果被淘汰页面修改位为 0,则直接调入外存页面将其覆盖,修改页表;(4)如果被淘汰页面修改位为 1,则要申请一块交换空间,将该内存的内容保存到交换区中,然后将辅存的页面调入其中,修改页表。例 5.2.22 何谓虚拟机存储器,并举一例说明操作系统如何实现虚拟内存的?解 虚拟存储器通过把主、辅存统一起来管理,给用户造成一种仿佛系统内有巨大主存供用户使用的假象。例如页式存储管理,一道作业被划分成若干页,其中较活跃的几页放在内存,而其余不活跃的页被放在辅存,当需要访问辅存内的页时,就可通过页面调度将其调入内存运行;但用户感觉不到这种变化,他会以为作业

31、的所有部分都存在于主存。这样可以让更多的作业进入主存,提高系统的效率。例 5.2.23 在内存管理中,“内零头”和“外零头”各指的是什么?在固定式分区分配、可变式分区分配、页式虚拟存储系统、段式虚拟存储系统中,各会存在何种零头?为什么?解 内零头(又称内部碎片):给一个作业分配的存储单元长度为 n,该块存储的作业长度为 m,则剩下的长度为(n-m)的空间,成为该单元的内部碎片;若存储单元长度为 n,在该系统所采用的调度算法下,较长时间内无法选出一道长度不超过该块的作业,则称该块为外第 5 章 存储器管理习题与解答 零头(外部碎片)。在固定式分区分配中两种零头均会存在,因为空间划分是固定的,无论

32、作业长短,存储单元均不会随之变化,若作业短而存储块长则产生内零头,若作业长而存储块短则产生外零头。在可变式分区分配中只有外零头而无内零头,因为空间划分是依作业长度进行的,是要多少给多少,但剩下的部分太短而无法再分,则称为外零头。页式虚存中会存在内零头而无外零头,因存储空间与作业均分为等长单元,所以不存在无法分配的单元,但作业长度并不刚好为页面大小的整数倍,因此在最后一页会有剩余空间,即为内零头。段式虚存中会存在外零头而无内零头,因段式的空间划分类似于可变分区分配,根据段长分配,要多少给多少,但会剩余小空间无法分配,则为外零头。例 5.2.24 常用的内存信息保护方法有哪几种?它们各自的特点是什

33、么?解 常用的内存保护方法有硬件法、软件法和软硬件结合保护法三种。界地址保护法,即上下界保护法,是一种常用的硬件保护法。上、下界存储保护技术要求为每个进程设置一对上、下界寄存器。上、下界寄存器中装有被保护程序和数据段的起始地址和终止地址。在程序执行过程中,在对内存进行访问操作时,首先进行访问地址合法性检查,即检查经过重定位之后的内存地址是否在上、下界寄存器所规定的范围之内。若在规定的范围之内,则访问是合法的,否则是非法的,并第 5 章 存储器管理习题与解答 产生访问越界中断。保护键法也是一种常用的软件存储保护法。保护键法为每一个被保护的存储块分配一个单独的保护键。在程序状态字中设置相应的保护键

34、开关字段,对不同的进程赋予不同的开关代码,与被保护的存储块中的保护键匹配。保护键可以设置成对读写同时保护的,或只对读写进行单项保护的。如果开关字段与保护键匹配或存储块未受到保护,则访问该存储块是允许的,否则将产生访问出错中断。另外一种常用的软硬件内存保护方式是界限存储器与 CPU的用户态、核心态相结合的保护方式。在这种保护方式下,用户态进程只能访问那些在界限寄存器所规定范围内的内存部分,而核心态进程则可以访问整个内存地址空间。例 5.2.25 若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为 1024字节,试将逻辑地址 1011,2148,3000,5012转化为相应的物理地址(

35、注:此处块号即为页面号)。页号 块号 0 1 2 3 2 3 1 第 5 章 存储器管理习题与解答 6 解 本题中,为了描述方便,设页号为 P,页内位移为 W,逻辑地址为A,内存地址为 M,页面大小为 L,则 P=int(A/L)W=A mod L 对于逻辑地址 1011 P=int(1011/1024)=0 W=1011 mod 1024=1011 A=1101=(0,1101)查页表第 0 页在第 2 块,所以物理地址为 M=1024*2+1101=3059。对于逻辑地址为 2148 P=2148/1024=2 W=2148 mod 1024=100 A=2148=(2,100)查页表第

36、2 页在第 1 块,所以物理地址为 M=1024*1+100=1124。对于逻辑地址为 3000 P=3000/1024=2 W=3000 mod 1024=952 A=3000=(2,952)第 5 章 存储器管理习题与解答 查页表第 2 页在第 1 块,所以物理地址为 M=1024*1+952=1976 对于逻辑地址 5012 P=5012/1024=4 W=5012 mod 1024=916 因页号超过页表长度,该逻辑地址非法。例 5.2.26 某段式存储管理系统中,有一作业的段表(SMT)如下表所示,求逻辑地址0,65,1,55,2,90,3,20对应的主存地址(按十进制)。(其中方括

37、号中的第一个元素为段号,第二个元素为段内地址)段号 段长(容量)主存起始地址 状态 0 1 2 3 200 50 100 150 600 850 1000 第 5 章 存储器管理习题与解答 1 1 1 0 解 逻辑地址0,65:对应的主存地址为 60065665。逻辑地址1,55:因段内地址超过段长,所以产生段地址越界中断。逻辑地址2,90:对应的主存地址为 1000901090。逻辑地址3,20:因为状态位为 0,即该段在辅存中,所以产生缺段中断。例 5.2.27 某虚拟存储器的用户空间共有 32 个页面,每页 1KB,主存 16KB。试问:(1)逻辑地址的有效位是多少?(2)物理地址需要多

38、少位?(3)假定某时刻系统用户的第 0,1,2,3 页分别分配的物理块号为5,10,4,7,试将虚地址 0A5C和 093C变换为物理地址。解 (1)程序空间的大小为 32KB,因此逻辑地址的有效位数是 15 位。(2)内存储空间的大小是 16KB,因此物理地址至少需要 14 位。(3)当页面为 1KB时,虚地址 0A5C表示页号为 00010,页内地址是1001011100。该页在内存的第 4 块,即块号为 0100,因此 0A5C的物理地址是 01001001011100,即 125CH。(4)用同样的方法可以求得,093C的物理地址是 113CH。第 5 章 存储器管理习题与解答 例5.

39、2.28 试述页式虚拟存储器的页面是怎样划分的?会出现什么情况?怎样发生页面失效?如何处理?解(1)页面的划分是将程序空间与主存空间都按相同大小机械等分成页,并按页顺序编号。(2)对于按字节编址、字符串数据、操作数多重间接寻址等,完全可能出现指令或操作数横跨在两页上存储的情况。(3)跨页存放的那一页不在主存中,就会在取指令、取操作数或间接寻址等访存过程中发生页面失效。(4)页面失效是在一条指令分析或执行的过程中发生的。应看作一种故障,必须立即响应和处理。应解决如何保存好故障点现场及故障处理完后恢复故障点现场的操作。(5)多数计算机都只采用后缓寄存器法,把发生页面失效指令的全现场都保存下来。(6

40、)待调页后再取出后缓寄存器内容,恢复故障点现场,继续执行完该指令。5.3 习题 5.3.1 选择最合适的答案 1 分页存储管理的存储保护是通过()完成的.A.页表(页表寄存器)B.快表 C.存储键 D.索引动态重定 2 把作业地址空间中使用的逻辑地址变成内存中物理地址称为()。第 5 章 存储器管理习题与解答 A、加载 B、重定位 C、物理化 D、逻辑化 3 在可变分区存储管理中的紧凑技术可以-。A.集中空闲区 B.增加主存容量 C.缩短访问时间 D.加速地址转换 4 在存储管理中,采用覆盖与交换技术的目的是()。A.减少程序占用的主存空间 B.物理上扩充主存容量 C.提高 CPU效率 D.代

41、码在主存中共享 5 存储管理方法中,()中用户可采用覆盖技术。A 单一连续区 B.可变分区存储管理 C 段式存储管理 D.段页式存储管理 6 把逻辑地址转换成物理地址称为()。A.地址分配 B.地址映射 C.地址保护 D.地址越界 7 在内存分配的“最佳适应法”中,空闲块是按()。A.始地址从小到大排序 B.始地址从大到小排序 C.块的大小从小到大排序 D.块的大小从大到小排序 8 下面最有可能使得高地址空间成为大的空闲区的分配算法是()。A.首次适应法 B.最佳适应法 C.最坏适应法 D.循环首次适应法 9 那么虚拟存储器最大实际容量可能是()。A.1024K B.1024M C.10G D

42、.10G+1M 10用空白链记录内存空白块的主要缺点是()。A.链指针占用了大量的空间 第 5 章 存储器管理习题与解答 B.分配空间时可能需要一定的拉链时间 C.不好实现“首次适应法”D.不好实现“最佳适应法”11一般而言计算机中()容量(个数)最多.A.ROM B.RAM C.CPU D.虚拟存储器 12分区管理和分页管理的主要区别是()。A.分区管理中的块比分页管理中的页要小 B.分页管理有地址映射而分区管理没有 C.分页管理有存储保护而分区管理没有 D.分区管理要求一道程序存放在连续的空间内而分页管理没有这种要求。13静态重定位的时机是()。A.程序编译时 B.程序链接时 C.程序装入

43、时 D.程序运行时 14通常所说的“存储保护”的基本含义是()A.防止存储器硬件受损 B.防止程序在内存丢失 C.防止程序间相互越界访问 D.防止程序被人偷看 15能够装入内存任何位置的代码程序必须是()。A.可重入的 B.可重定位 C.可动态链接 D.可静态链接 16虚存管理和实存管理的主要区别是()。A.虚存区分逻辑地址和物理地址,实存不分;第 5 章 存储器管理习题与解答 B.实存要求一程序在内存必须连续,虚存不需要连续的内存;C.实存要求一程序必须全部装入内存才开始运行,虚存允许程序在执行的过程中逐步装入;D.虚存以逻辑地址执行程序,实存以物理地址执行程序;17在下列有关请求分页管理的

44、叙述中,正确的是()。A.程序和数据是在开始执行前一次性装入的 B.产生缺页中段一定要淘汰一个页面 C.一个被淘汰的页面一定要写回外存 D.在页表中要有“中段位”.“访问位”和“改变位”等信息 18LRU置换算法所基于的思想是()。A.在最近的过去用得少的在最近的将来也用得少 B.在最近的过去用得多的在最近的将来也用得多 C.在最近的过去很久未使用的在最近的将来会使用 D.在最近的过去很久未使用的在最近的将来也不会使用 19在下面关于虚拟存储器的叙述中,正确的是()。A.要求程序运行前必须全部装入内存且在运行过程中一直驻留在内存 B.要求程序运行前不必全部装入内存且在运行过程中不必一直驻留在内

45、存 C.要求程序运行前不必全部装入内存但是在运行过程中必须一直驻留在内存 D.要求程序运行前必须全部装入内存但在运行过程中不必一直驻留第 5 章 存储器管理习题与解答 在内存 20在请求分页系统中,页表中的改变位是供()参考的。A.页面置换 B.内存分配 C.页面换出 D.页面调入 21在请求分页系统中,页表中的访问位是供()参考的。A.页面置换 B.内存分配 C.页面换出 D.页面调入 22在请求分页系统中,页表中的辅存始地址是供()参考的?A.页面置换 B.内存分配 C.页面换出 D.页面调入 23适应于请求段的内存分配方法是()。A.首次适应和最佳适应 B.固定分区和可变分区 C.首次适

46、应和固定分区 C.最佳适应和可变分区 24在请求分页管理中,已修改过的页面再次装入时应来自()。A.磁盘文件区 B.磁盘对换区 C.后备作业区 D.I/O缓冲池 25选择在最近的过去使用次数最少的页面予以淘汰的算法称为()。A.Opt.B.LRU C.MFU D.LFU 26选择在最近的过去最久未访问的页面予以淘汰的算法称为()。A.Opt.B.LRU C.MFU D.LFU 27程序动态链接的时刻是()。第 5 章 存储器管理习题与解答 A.编译时 B.装入时 C.调用时 D.紧凑时 28虚存的可行性基础是()。A.程序执行的离散性 B.程序执行的顺序性 C.程序执行的局部性 D.程序执行的

47、并发性 29虚存最基本的特征是()。A.一次性 B.多次性 C.交换性 D.离散性 30在下列关于虚存实际容量的说法中,正确的是()。A.等于外存(磁盘)的容量 B.等于内.外存容量之和 C.等于 CPU逻辑地址给出的空间的大小 D.B.C之中取小者 31实现虚存最主要的技术是()A.整体覆盖 B.整体对换 C.部分对换 D.多道程序设计 32首次适应算法的空闲区是()。A.按地址递增顺序连在一起 B.始端指针表指向最大空闲区 C.按大小递增顺序连在一起 D.寻找从最大空闲区开始 33采用()不会产生内部碎片。A.分页式存储管理 B.分段式存储管理 C.固定分区式存储管理 D.段页式存储管理

48、34下面哪种内存管理方法有利于程序的动态链接?第 5 章 存储器管理习题与解答 A.分段存储管理 B.分页存储管理 C.可变分区分配 D.固定分区分配 35在虚拟存储系统中,若进程在内存中占 3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为 1,2,3,4,1,2,5,1,2,3,4,5,6 时,将产生()次缺页中断?A.7 B.8 C.9 D.10 36系统“抖动”现象的发生是由()引起的?A.置换算法选择不当 B.交换的信息量过大 C.内存容量充足 D.请求页式管理方案 37采用段式存储管理的系统中,若地址用 24 位表示,其中 8 位表示段号,则允许每段的最大长度是()

49、。A.224 B.216 C.28 D.232 38实现虚拟存储器的目的是()。A.实现存储保护 B.实现程序浮动 C.扩充辅存容量 D.扩充主存容量 39在请求分页存储管理中,若采用 FIFO页面淘汰算法,则当进程分配到的页面数增加时,缺页中断的次数()。A.减少 B.增加 C.无影响 D.可能增加也可能减少 40在固定分区分配中,每个分区的大小是()。A.相同 B.随作业长度变化 C.可以不同但预先固定 第 5 章 存储器管理习题与解答 D.可以不同但根据作业长度固定 41在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减 2

50、的情况是()。A.无上邻空闲区,也无下邻空闲区 B.有上邻空闲区,但无下邻空闲区 C.有下邻空闲区,但无上邻空闲区 D.有上邻空闲区,也有下邻空闲区 42如果一个程序为多个进程所共享,那么该程序的代码在执行的过程中不能被修改,即程序应该是()。A.可执行码 B.可重入码 C.可改变码 D.可再现码 43下述()页面淘汰算法会产生 Belady现象。A.先进先出 B.最近最少使用 C.最不经常使用 D.最佳 44某段表的内容如下图所示,现执行某条指令 Load 1,2/154,逻辑地址 2/154(其中段号为 2,段内地址为 154),它对应的物理地址为()。A.120K+2 B.480K154

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁