考研操作系统-内存管理_第1页
考研操作系统-内存管理_第2页
考研操作系统-内存管理_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、考研操作系统 - 内存管理 ( 一)一、 单项选择题 ( 总题数: 31,分数: 31.00)1. 在可变分区存储管理中,将空闲区按照长度递增的顺序排列的分配算法是 。A. 最先优先适应算法B. 最优适应算法 C. 最坏适应算法D. 较坏适应算法 分析 可变分区存储管理是只把用户区域作为一个整块,作业转入时根据作业需要的主存空间大小和当时主存空 间的使用情况来决定是否为作业分配以一个分区。一旦分配,就按照作业实际需要分配分区。 在可变分区存储管理中,常见的分区分配算法如下。(1) 最先优先适应算法。将空闲区按照地址从低到高的顺序排列,每次分配总是找到第一个满足长度的空 闲区。( 在所( 在所(

2、2) 最优适应算法。将空闲区按照长度递增的顺序排列,每次分配总是找到第一个满足长度的空闲区 有满足长度的空闲区中,它是最小的 ) 。·优点:可以留下大的空闲区,以满足大作业的要求。 ·缺的:使得碎片更小,浪费更大,当碎片很多的时候,该算法的性能急剧下降。(3) 最坏适应算法。将空闲区按照长度递减的顺序排列,每次分配总是找到第一个满足长度的空闲区 有满足长度的空闲区中,它是最大的 ) 。·优点:碎片相对大些,可以再次分配。 ·缺点:大分区被分配出去了,当大作业到来的时候,可能会找不到合适的分区2. 把程序空间地址中使用的逻辑地址变成内存中的物理地址称为 。

3、A. 加载B. 物理化C. 重定位 D. 逻辑化 分析 由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。而由内存中的一系列存储单元 所限定的地址范围称为内存空间,也称为物理空间或者绝对空间。程序和数据装入内存时需对目标程序中的地址进行修改。这种把逻辑地址转变为内存的物理地址的过程叫 重定位。对程序进行重定位的技术按重定位的时机可分为两种:静态重定位和动态重定位。3. 在虚拟页式存储管理方案中, 完成将页面调入内存的工作。A. 缺页中断处理 B. 页面淘汰过程C. 工作集模型应用D. 紧缩技术利用 分析 虚存管理中,页面调度的处理思路是:当用户请求访问的页面不在主存时,系统产生

4、一次缺页中断,将该 页从辅存调入主存,如果主存已没有空的可用页帧,则淘汰一个页面。4. 在请求分页存储管理中,如果所需的页面不在内存,则产生缺页中断,它属于 中断。A. 硬件故障B. I/OC. 外D. 程序 分析 程序中断是指: CPU在执行程序的过程中,因出现某种随机事件而收到中断请求,暂时停止现行程序的执 行,转去执行一段中断服务程序,以处理该事件,并在处理完毕后自动恢复程序的执行。 缺页中断正是因为所需页面不在内存,向CPU发出中断请求,暂停现行程序,执行缺页中断处理程序,然后返回到原来的指令执行。所以,缺页中断是程序中断。5. 对主存的访问是 。A. 以块( 即页)或段为单位B. 以

5、字节或字为单位 C. 随存储器的管理方案不同而异D. 以用户的逻辑记录为单位 分析 对存储器的访问是指对主存的访问,很多人给出的选择是A,他们将对主存的访问与页式管理的主存分配混在了一起。虽然页式管理的主存分配是以块为单位的,但主存的访问则是以字或字节为单位的。6. 最佳适应算法的空白区是 。A. 按大小递减顺序排列B. 按大小递增顺序排列 C. 按地址由小到大排列D. 按地址由大到小排列 分析 最佳适应法:最佳适应算法是将输入的作业放入主存中与它所需大小最接近的空白区中,这样剩下的未用 空间最小。该算法要求按空白区大小按从小到大次序组成空白区可用表或自由链。在进行分配时总是从最 小的一个开始

6、查询,因而找到的第一个能满足要求的空白区便是最佳的一个。最佳适应法的一个主要缺点是空白区很难正好与要求的大小相等,因而要将其分割成两部分,使剩下的空 白区很小,以至小到几乎无法使用,造成内存碎片。7. 在页式管理中,页表的始址是存放在 。A. 内存B. 存储页面表中C. 相联存储器中D. 寄存器中 分析 页表一般是存放在内存中的,即划分某些内存区域存放页表,而它的起始地址是存放在专门的寄存器中, 以便地址转换机构能快速找到页表,这个寄存器称为页表始址寄存器。8. 页面虚拟存储管理的主要特点是 。A. 不要求将作业装入到主存的连续区域B. 不要求将作业同时全部装入到主存的连续区域 C. 不要求进

7、行缺页中断处理D. 不要求进行页面置换 分析 页式虚拟存储管理是把作业信息作为副本存放在磁盘上,当作业执行时,把作业信息的部分页面装入主存 储器。作业执行时若所访问的页面已在主存中,则按页式存储器管理方式进行地址转换,得到欲访问的主 存绝对地址,若页面不在主存中,则产生一个“缺页中断”。这样可以将用户程序的任一页放在内存的任 一块中,实现离散分配。所以,页面虚拟存储管理不要求将作业同时全部装入到主存的连续区域。9. 一个分段存储管理系统中,地址长度为 32 位,其中段号占 8位,则最大段长是 。A. 2 8字节B. 216字节C. 224 字节 D. 2 32字节 分析 段式管理的地址结构由段

8、号和段内位移组成, 段内位移的最大值就是最大段长。 在本题中, 段号占了 8位, 剩下 32-8=24 位是段内位移空间,因此最大段长是 224 字节。10. 页表的作用是实现从页号到物理块号的 。A. 逻辑映射B. 物理映射C. 地址映射 D. 逻辑地址映射 分析 在页式存储管理系统中,允许将进程的每一项离散地存储在内存的任意物理块中,但系统应能保证进程的 正确进行,即能在内存中找到每个页面所对应的物理块。为此,系统又为每个进程建立一张页面映射表, 简称页表,在进程地址空间的所有页,都在页表中有一个表项,其中记录了相应页在内存中所对应的物理 块号。在配置了页表后,进行执行时,通过查找页表,即

9、可找到每页在内存中的物理块号。可见,页表的 作用是实现从页号到物理块号的地址映射。即使在简单的页式存储管理系统中,也常在页表的表项中设置一存取控制字段,用于对该存储块的内容进 行保护,当存取控制字段仅有一位时,可用来规定该存储块中的内容是允许读 / 写、还是只读;若存储控制 字段威二位, 则可规定为读 / 写、只读和只执行等存取方式。如果有一个进程试图去写一个只允许读的存储 块时,则将引起操作系统的一次中断。如果要利用页式存储管理系统区实现虚拟存储器,则还需要增加一 数据项。11. 某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空 ) ,采用最佳适配 (Best Fit) 算法,

10、分配和释放的顺序为:分配 15MB,分配 30MB,释放 15MB,分配 8MB,分配 6MB,此时主存中最大空闲分区 的大小是 。A. 7 MBB. 9 MB C. 10 MBD. 15 MB 分析 根据题目给出的条件,采用最佳适配算法的过程如下: 分配 15MB后,空闲链表各分区的大小为: 40MB; 分配 30MB后,空闲链表各分区的大小为: 10MB; 释放 15MB后,空闲链表各分区的大小为: 10MB,15MB; 分配 8MB后,空闲链表各分区的大小为: 2MB,15MB; 分配 6MB后,空闲链表各分区的大小为: 2MB,9MB, 因此,此时主存中最大空闲分区大小为 9MB。程序

11、放于不同内存区间,相互之间不可越界,因此需要进行 界地址保护。12. 虚拟存储器是 。A. 可提高计算机运算速度的设备B. 容量扩大了的主存实际空间C. 通过 SPooLing 技术实现的D. 可以容纳总和超过主存容量的多个作业同时运行的一个地址空间 分析 因为虚拟存储器技术实际上就是将内存和外存统一管理,虚拟存储器的容量取决于计算机的地址结构和外 存容量。13. 在请求页式存储管理中,当查找的页不在 中时,要产生缺页中断。A. 外存B. 虚存C. 内存 D. 地址空间 分析 请求页式管理的原理是:当执行某条指令而又发现它不在内存中时,或当执行某条指令需访问其他的数据 和指令时,这些指令和数据

12、不在内存中,从而发生缺页中断,系统将外存中相应的页面调入内存中。14. 在请求分页系统中, LRU算法是指 。A. 最早进入内存的页先淘汰B. 近期最长时间以来没被访问的页先淘汰 C. 近期被访问次数最少的页先淘汰D. 以后再也不用的页先淘汰 分析 有的也将 LRU称为最近最久未使用页面的置换算法,根据一个作业在执行过程中过去的页面踪迹来推测未 来的行为。该算法的思想是当需要淘汰一页时,选择离当前时间最近的一段时间最久没有使用过的页先淘 汰,它认为过去一段时间里不曾被访问过的页,在最近的将来也不再会被访问。15. 在页式存储器管理中,页表内容如表3-1 所示。若页的大小为 4KB,则地址转换机

13、构将逻辑地址 12293转换成的物理地址为 。表 3-1 页表内容逻辑页号物理页号0215263843511A. 20485B. 32773 C. 24581D. 12293 分析 逻辑地址向物理地址转换,把握住首要条件,即页号和页内位移的取值(所占位数 ) 。该题的条件是页的大小为 4KB即 2 的 12 次方,则页内位移为 12 位。逻辑地址 12293 转换成二进制数是: ,取 其低 12位作为页内位移,剩余高位为页号,值为3,得出对应的页框 (块)号是 8,与页内位移合并,得出物理地址 ,转换成十进制得 32773 。16. 在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,

14、并与相邻空闲区合并,为此需修改 空闲区表,造成空闲区数减 1的情况是 。A. 无上邻空闲区,也无下邻空闲区B. 有上邻空闲区,但无下邻空闲区C. 有下邻空闲区,但无上邻空闲区D. 有上邻空闲区,也有下邻空闲区 分析 系统为管理主存,将不相邻空闲区分别登记,要使空闲区个数减少,唯一的方法是合并,而只有地址相邻 的空闲区才可合并。先看选项 A,无上邻也无下邻,只好将回收区域单独登记,会导致空闲区数增1。再看选项 B 和选项 C,如果只有一个相邻空闲区,则合并后空闲区数不改变。只有选项D,当与上邻空闲区和下邻空闲区合并,让原来的两个空闲区合并成一个,数量才会减1。17. 在分页式虚拟存储管理系统中,

15、页面的大小与可能产生的缺页中断次数的关系是 。A. 页面的大小与缺页中断次数成正比B. 页面越大,则缺页中断次数就越低 C. 页面越大,则缺页中断次数就越高D. 页面的大小与缺页中断次数是一个固定的比值 分析 实现虚拟存储器能给用户提供一个容量很大的存储器,但当主存空间己装满而又要装入新页时,必须按一 定的算法把已在主存的一些页调出去,这个工作称页面调度。所以,页面调度算法实际上就是用来确定应 该淘汰哪些页的算法。算法的选择是很重要的,选用了一个不适合的算法,就会出现这样的现象:刚被淘 汰的页面又立即要用,因而又要把它调入,而调入不久再被淘汰,淘汰不久再被调入。如此反复,使得整 个系统的页面调

16、度非常频繁以至于大部时间都在来回调度上。这种现象叫做“抖动”,又称“颠簸”,一 个好的调度算法应减少和避免抖动现象。为了衡量调度算法的优劣,我们考虑在固定空间的前提下来讨论各种页面调度算法。这一类算法是假定每 道作业都给固定数的主存空间,即每道作业占用的主存块数不允许页面调度算法加以改变。在这样的假定 下,怎样来衡量一个算法的好坏呢 ?假定作业 p共计 n页,而系统分配给它的主存块只有 m块(m、n均为正整数,且 1m n) ,即最多只能容 纳 m页。如果作业 p 在运行中成功的访问次数为 S(即所访问的页在主存中 ) ,不成功的访问次数为 F(即缺 页中断次数 ) ,则总的访问次数 A 为:

17、A=S+F又定义:f=F/A 则称厂为缺页中断率。影响缺页中断率 f 的因素如下。 ·分配给作业的主存块数。分配给作业的主存块数多,则缺页中断就低;反之,缺页中断率就高。·页面的大小,如果划分的页面大,则缺页中断率就低,否则缺页中断率就高。但它们之间的关系不是简 单的反比关系。·页面调度算法。 ·作业本身的程序编制方法。程序编制的方法不同,对缺页中断的次数有很大影响。18. 在采用页式存储管理系统中,页架的大小应选 。A. 2 的整数次幂 B. 任意值C. 1KB以上D. 1KB 以下 分析 在采用页式存储管理系统中,页架的大小应选2 的整数次幂,这样可

18、以加快地址转换速度。19. 可变式分区又称为动态分区,它是在系统运行过程中 时动态建立的。A. 在作业装入 B. 在作业创建C. 在作业完成D. 在作业未装入 分析 在存储器管理技术中引入多道程序系统后,出现了多个作业同时放在内存中,这就需要把存储器分成若干 区域,每个区域分配给一道程序,这就是分区或分配,分区管理分为固定式分区和可变式分区两种。 在系统启动后,除操作系统占据了一部分内存外,其余所有内存空间为一个大空闲区,称为自由空间,如 果作业申请内存,则从空闲区中划出一个与作业需求量相适应的分区分配给该作业,在作业运行完毕后, 收回释放的分区。这种分配方式对作业要求的存储容量分配是合理的;

19、然而,随着一系列的分配与回收,内存中也会形成若 干未用和暂时不能用的区域,即存储碎片。有时,碎片的总容量超过了作业申请的容量,由于不连续而不 能分配,所以将碎片进行拼接,合成一个连续的存储区,但进行大量碎片的拼接会浪费CPU的时间。20. 在某操作系统中对内存采用页式存储管理方法,所划分的页面大小 。A. 要依据内存大小而定B. 必须相同 C. 要依据 CPU的地址结构D. 要依据外存和内存而定 分析 页式管理是将各进程的虚拟空间划分成若干个长度相等的页,页式管理把内存空间按页的大小划分成片或 者页面,然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散 地址变

20、换问题。页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理。页式管理中很重要的个概念便是页面大小如何确定。页式管理的特点是:所有单元都是等长的,这样易 于系统管理。21. 请求页式管理中,缺页中断率与进程所分得的内存页面数、 和进程页面流的走向等因素有关。A. 页表的位置B. 置换算法 C. 外存管理算法D. 进程调度算法 分析 在其他几个因素确定的情况下,不同的置换算法其缺页率是不同的。22. 分区分配内存管理方式的主要保护措施是 。A. 界地址保护 B. 程序代码保护C. 数据保护D. 栈保护 分析 分区分配内存,程序放于不同内存区间,相互之间不可越界,因此需要进行界地址保护,因

21、此本题答案选A。23. 在可变分区存储管理中,主要是利用 来使用碎片。A. 离散技术B. 固定技术C. 集中技术D. 移动技术 分析 (1) 移动技术。移动在主存中的各作业,使其分区位置发生变化,由于硬件的地址变换机制,所以存储区 域移动后,将上、下限寄存器的值改变一下,可以完成新的地址变换,但是移动信息的传送工作需要花费 处理器时间,增加了系统开销。(2) 移动技术的作用。利用移动技术将分散的碎片结合起来,形成一个较大的空间区 ( 类似于 windows 98 的“磁盘碎片整理程序”将磁盘上的数据移动,使碎片连成大的连续空闲空间) 。利用移动技术,为作业在执行过程中扩充主存提供了方便,当一个

22、作业在执行中要求增加其主存客量的时 候,只要适当地移动它的邻近作业,就能为作业腾出连续的空闲空间。(3) 移动技术的限制。移动时系统开销很大,故不宜经常做。 有些情况下不能移动,比如正在使用外设的进程, I/O 传送是 DMA进行的,作业地址变了,可能引起数据 传送到一个不合适的地址。采用不同的装入作业方式会使得移动量有所变化。24. 段页式存储管理中,地址映像表是 。A. 每个作业或进程的一张段表,二张页表B. 每个作业或进程的每个段一张段表,一张页表C. 每个作业或进程一张段表,每个段一张页表 D. 每个作业一张页表,每个段一张段表 分析 段页式管理是将用户程序分段,再对每段进行分页。段页

23、式存储管理为每一个装入内存的程序建立一张段 表。另外,对每段还要建立一张页表。段表的长度由程序分段的个数所决定,而段表中的每一个表目则指 出本段的页表始址和长度。页表的长度由对应段所划分的页面的个数决定,而页表中的每一个表目指出本 段的逻辑页号与主存块号的对应关系。25. 虚拟存储管理系统的基础是程序的 理论。A. 动态性B. 虚拟性C. 局部性 D. 全局性 分析 程序具有局部性,即大约 20%的部分程序占用了 80%的运行时间,其余 80%的部分则只占用大约 20%的运行 时间,正因为如此,可将暂时不需要的部分放在外存,要用时再调入主存。26. 采用可重入程序是通过使用 的方法来改善响应时

24、间的。A. 减少用户数目B. 改变时间片长短C. 加快对换速度D. 减少对换信息量 分析 所谓可重入程序, 是指当多个用户共享程序时, 在内存中仅保存一份副本。 而在没有采用重入码的系统中, 每个用户都必须各备一套程序。由于重入码的采用减少了内外存的对换信息量,这也就为采用更短的时间 片来缩短响应时间创造了条件。27. 计算机系统的二级存储包括 。A. CPU寄存器和存储缓冲区B. 超高速缓存和内存储器C. ROM和 RAMD. 主存储器和辅助存储器 分析 由于主存储器能被处理器直接访问,而辅助存储器则不能,因此,在进程运行时,必须把它的程序和数据 放到主存储器中,考虑到主存储器的空间不足,一

25、般计算机系统都采用二级存储的方法,利用辅助存储器 存放准备运行的程序和数据,当需要时或主存空间允许时,随时将它们读入主存储器。在本题的 4 个选项中, 选项 C中的 ROM和 RAM,是主存储器中的两种类型;选项 B 中的超高速缓存和选项 A 中的 CPU寄存器由于造价高、容量小,因此不适于计算机系统存储结构。28. 某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为210字节,页表项大小为 2 字节,页目录号页号 内偏移量逻辑地址结构为:逻辑地址空间大小为 216 页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是 。A. 64B. 128 C. 256D. 512 分析

26、页大小为 210字节,页表项大小为 2 字节,采用二级页表,一页可存放 29个页表项,逻辑地址空间大小为 216页,那么表示整个逻辑地址空间的页目录表中包含表项的个数至少是216/2 9=27=128。29. 在页式存储管理中,每当 CPU形成一个有效地址时,则要查找页表,这一工作是由 实现的。A. 查表程序B. 存取控制C. 硬件自动 D. 软件自动 分析 硬件自动把地址空间的地址分为页号和页内相对地址,通过页号在页表找到内存中的对应块号,内存的物 理地址用下列公式确定:内存的物理地址 =块号×每一页的字节数 +页内相对地址30. 存储管理的功能是 。A. 分段分配、地址变换、存储

27、扩充、存储共享与保护B. 分区分配、地址变换、存储扩充、存储共享与保护C. 分页分配、地址变换、存储扩充、存储共享与保护D. 存储分配、地址变换、存储扩充、存储共享与保护 分析 存储管理的功能是随着操作系统的进展而逐步扩充的,早期单用户操作系统,一次只允许一个用户程序驻 留内存,并允许它使用除操作系统占用的内存单元之外的其他全部可用内存,因此,其存储管理的任务很 简单,只负责内存区域的分配与回收。当操作系统引入多道程序技术之后,允许多个用户程序同时装入内存,随之而来的就产生了如何将可用内 存有效的分配给多个程序,如何让那些需要较大运行空间的程序执行,如何保护和共享内存的信息等等, 形成了操作系

28、统的存储器管理,相应地产生了分区、分页、分段式管理方法,以及覆盖、交换和虚拟存储 等内存扩充技术。31. 引入段式存储管理方式, 主要是为了满足用户的一系列要求, 在下面的四个选项中, 不属于这一系列要 求的是 。A. 方便操作 B. 方便编程C. 分段共享和分段保护D. 动态链接和动态增长 分析 段式存储管理方式的引入,主要是为了满足用户 (程序员 )在编程和使用上多方面的要求,其中有些要求是 其他几种存储管理方式所难以满足的。 正因如此,这种存储管理方式已成为当今所有存储管理方式的基础, 许多高级语言的统计程序,也都支持段式存储管理方式。引入段式存储管理方式,主要是为了满足用户下述的一系列

29、要求。(1)方便编程。通常,一个作业是由若干个自然段组成的。因而,要把自己的作业按照逻辑关系划分为若 干个段;每个段都有自己的名字和长度; 要访问的编辑地址是段名 (段号) 和段内偏移量 (由段内地址决定 ) ; 每个段都从 0 开始编址。这样,用户程序在执行中可使用段名和段内地址进行访问。(2)分段共享。通常,在实现程序和数据的共享时,是以信息的逻辑单位为基础的,例如,共享某个例程 和函数。但在分页系统中的每一页都只是存放信息的物理单位,其本身并无完整的意义,不便于实现信息 共享;而段是信息的逻辑单位。由此可知,为了实现段的共享,也要使存储管理能与用户程序分段的组织 方式相适应。(3)分段保

30、护。在多道程序环境下,为了防止其他程序对某程序在内存中的数据进行破坏,必须采取保护 措施。对内存中信息的保护,同样是对信息的逻辑单位进行保护。因此,采用分段的组织和管理方式,对 于实现保护功能更方便。(4)动态链接。通常,用户源程序经过编译后所形成的若干个目标程序,还需经过链接,形成可执行程序 后在方能执行。这种在装入时运行的链接称为静态链接。动态链接是指在作业运行之前,不把几个目标程 序段链接起来。作业在运行之前先将主程序所对应的目标程序装入内存并启动运行,当运行过程中又需要 调用某段时,才将该段 ( 目标程序 ) 调入内存并进行链接。可见,动态链接也是要求以段作为管理单位的。(5)动态增长

31、。在实际使用中,有些段特别是数据段会不断的增长,而事先又无法确切的知道数据段会增 长到多大,这种动态增长的情况是其他集中存储管理方式都难于应付的,而段式存储管理方式能较好地解 决这一问题。二、综合题(总题数: 30,分数: 69.00)32. 存储管理的实质是什么 ?存储管理的主要功能是什么 ?正确答案: ( 内存管理就是对内存架构进行管理, 使程序在内存架构的任何一个层次上的存放对于用户来说 都是一样的。用户无需担心自己的程序是存在缓存、主存、磁盘还是磁带中运行、计算、输出的结果都是 一样的。内存管理要达到的目标有:·地址保护,一个程序不能访问另一个程序地址空间; ·地址

32、独立:程序发出的地址应与物理主存地址无关。存储管理的主要功能包括以下几点: ·在硬件的支持下完成统一管理内存和外存之间数据和程序段自动交换的虚拟存储; ·将多个虚存的一维线性空间或多维线性空间变换到内存的唯一的一维物理地址空间; ·控制内外存之间的数据传输;·实现内存的分配和回收;·实现内存信息的共享与保护。 )33. 什么是虚拟存储器 ?其特点是什么 ?正确答案: ( 由进程中的目标代码、 数据等虚拟地址组成的虚拟空间称为虚拟存储器。虚拟存储器不考虑物 理存储器的大小和信息存放的实际位置,只规定每个进程中相互关联信息的相对位置。每个进程都拥有

33、自 己的虚拟存储器,且虚拟存储器的容量是由计算机的地址结构和寻址方式来确定的。虚拟存储器就是要提 供一个空间像磁盘那样大、速度像缓存那样快的主存储系统。实现虚拟存储器要求有相应的地址转换机构,以便把指令的虚拟地址变换为实际物理地址;另外,由于内 存空间较小,进程只有部分内容存放在内存中,其他的待执行时根据需要再调入内存。 )34. 什么是“内存碎片” ?应怎样解决“内存碎片问题” ?正确答案: ( 采用分区式存储管理的系统, 在储存分配过程中产生的、不能供用户作业使用的主存里的小分 区称成“内存碎片”。连续分配方式会形成许多“碎片”,可通过“紧凑”方法将碎片拼接成可用的大块空间,但必须为此付出

34、 很大的开销。如果允许将一个进程直接分散地分配到许多不相邻接的分区中,就不必再进行“紧凑”。基 于这一思想而产生了离散分配方式。根据离散分配时所用基本单位的不同,又可把离散分配方式分为以下3 种:·分页存储管理;·分段存储管理;·段页式存储管理。 即使这样,内存碎片还会出现,虽然是减少了。但分区方式不同,碎片的名称和特征都不同。在固定的分 区中,就称为“内碎片”。每个固定分区都有可能出现。页式存储管理就有“页内碎片”,它与页面大小 有关。可变分区中有“外碎片”。 )35. 为什么要提出段页式管理 ?它与段式管理及页式管理有何区别 ?正确答案: ( 因为段式管理和页

35、式管理各有所长。 段式管理为用户提供了一个二维的虚拟地址空间, 反映程 序的逻辑结构,有利于段的动态增长以及共享和内存保护等,这极大地方便了用户。而分页系统则有效地 克服了碎片,提高了存储器的利用效率。从存储管理的目的来讲,主要是方便用户的程序设计和提高内存 的利用率。所以人们提出了将段式管理和页式管理结合起来让其互相取长补短的段页式管理。 段页式管理与段式和页式管理相比,其访问时间较长。因此,执行效率低。 )36. 存储保护包括哪几方面。正确答案: ( 在多道程序系统中,内存中既有操作系统,又有许多进程。为使系统正常运行,避免内存中各 程序相互干扰,必须对内存中的程序和数据进行保护。存储保护

36、包括两方面的内容,防止地址越界和防止 非法操作。(1) 防止地址越界 每个过程都具有其相对独立的进程空间,如果进程在运行时所产生的地址超出其地址空间,则发生地址越 界,侵犯其他进程的空间;也可能侵犯操作系统空间,导致系统混乱。(2) 防止非法操作 对于允许多个进程共享的公共区域,每个进程都有自己的访问权限。例如,有些进程可以执行写操作,而 其他进程只能执行读操作等。因此,必须对公共区域的访问加以限制和检查。存储保护一般以硬件保护机制为主,软件为辅;因为完全用软件实现系统开销太大,速度成倍降低。当发 生越界或非法操作时,硬件产生中断,进入操作系统处理。 )37. 什么叫地址重定位 ?实现地址重定

37、位的方法有哪几类 ?正确答案: ( 在多道程序系统中,每个用户不可能用内存的物理地址来编写程序。程序在装入内存之前,为 逻辑地址形式,有时甚至在装入内存后,仍为相对地址形式。为了保证CPU执行程序指令时能正确访问存储单元,需要将程序中的逻辑地址转换为运行时可由机器直接寻址的物理地址,这一过程称为地址映射或 地址重定位。实现地址重定位的方法有两种:静态地址重定位和动态地址重定位。(1) 静态地址重定位是在虚空间程序执行之前由装配程序完成地址映射工作。静态重定位的优点是不需要 硬件支持,但是用静态地址重定位方法进行地址变换无法实现虚拟存储器。静态重定位的另一个缺点是必 须占用连续的内存空间,并且难

38、以做到程序和数据的共享。(2) 动态地址重定位是在程序执行过程中,在CPU访问内存之前由硬件地址变换机构将要访问的程序或数据地址转换成内存地址。动态地址重定位的主要优点有:可以对内存进行非连续分配;动态重定位提 供了实现虚拟存储器的基础;动态重定位有利于程序段的共享。 )38. 简述内存空间的分配和回收的含义与处理方法。正确答案: ( 一个作业进入内存时操作系统需将其变为进程,并为进程分配内存空间。进程运行结束时,操 作系统应将其所占用的内存空间收回。 存储管理设置一张表格记录内存的使用情况, 即哪些区域尚未分配, 哪些区域已经分配以及分配给哪些进程等。系统根据申请者的要求按一定策略找出足够的

39、空间分配给申请 者。若不能满足申请要求,则让申请者处于等待内存资源的状态,直到有足够的内存空间时再实施分配。 当内存中某个作业撤离或主动归还内存时,存储管理要进行一系列操作,回收内存空间,使之成为可供分 配的空闲区域 ( 也叫自由区 ) 。)39. 说明动态分页系统中的“抖动”现象及解决策略。正确答案: ( 在更换页面时, 如果更换的页面是一个很快就会被再次访问的页面,则在此缺页中断后很快又 会发生新的缺页中断。整个系统的效率急剧下降,这种现象称为抖动 (Trashing) 。 内存抖动的解决策略主要有:(1) 如果是因为页面替换策略失误,可以修改替换算法来解决这个问题;(2) 如果是因为运行

40、的程序太多,造成程序无法同时将所有频繁访问的页面调入内存,则要降低多道程序 的数量;(3) 否则,采取的办法有两个:一是终止该进程;二是增加物理内存容量。 )40. 操作系统的“存储管理”要解决的“内存扩充”,其含义是什么?正确答案: ( 为了使用户在编制程序时不受内存实际容量的限制, 可以在硬件支持下, 将外存作为主存的扩 充部分供程序使用,这就是内存扩充。内存扩充可以使程序得到比实际内存容量大得多的“内存”空间。 采用内存扩充技术,由操作系统处理内存与外存的关系,统一管理内外存,向用户提供一个容量相当大的 虚拟存储空间,这就是虚拟存储技术。 )41. 给出固定分区存储管理中对作业进行内存分

41、配与回收方法。正确答案:( 当作业队列中有作业要装入分区, 存储管理分配主存区域时, 先查分区分配表, 选择标志为“0” 的分区。然后根据作业地址空间的长度与标志为“0”的分区的长度比较,当有分区长度能容纳该作业时,则把作业装入该分区,且把作业名填到占用标志位上。如果作业长度大于空闲分区长度,则该作业暂时不 能装入该分区,继续查找其他合适的分区,如果找不到合适的分区,该作业暂时无法进入内存。当一个作 业运行结束后,根据作业名查分区分配表,从占用标志位的记录可知该作业占用的分区,把该分区的占用 标志置成“ 0”,表示该分区现在空闲了,可用来装入新作业。)42. 给出可变分区内存的分配与回收过程。

42、正确答案: ( 当有作业要进入内存时,在“空闲区表”中查找状态为“未分配”且长度大于或等于作业的空 闲分区分配给作业,若该空闲区长度大于作业长度时则被分成两部分,一部分分配给作业,另一部分仍作 为空闲区登记在表格中;若找到的空闲区正好等于作业长度时,则把该区分配给作业后,应把该栏目对应 的状态改为“空”状态。当有作业执行结束,收回该作业所占的主存空间后,应把收回区域的起始地址和长度登记在状态为“空” 的栏目中,且把状态改为“未分配”。如果该区域与其他空闲区相邻,应将它们连接成一片较大的空闲分 区。)43. 可变分区存储管理可采用的存储分配算法有哪几种 ?正确答案: ( 系统在寻找空闲区时可采用

43、以下三种分配算法。(1) 首先适应算法。在空闲区表中选取第一个满足申请长度的空闲区。(2) 最佳适应算法。在空闲区表中选择能满足申请长度的最小空闲区。此算法最节约空间,因为它尽量不 分割大的空闲区,其缺点是可能会形成很多很小的空闲区域。(3) 最坏适应算法。在空闲区表中选择能满足申请要求的最大的空闲区。该算法的出发点是:在大空闲区 中装入信息后,分割剩下的空闲区相对也大,还能用于装入其他进程。其目的是避免形成碎片,缺点是分 割大的空闲区后,再遇到较大的申请时,可能无法满足。 )44. 给出段页式存储管理中,地址转换的步骤。正确答案: (在段页式存储管理采用动态重定位,处理器每执行一条指令就将要

44、访问的逻辑地址(s ,p,d)取来,要经过如下地址转换步骤,才能得到最终的物理地址。(1) 通过段号 (s) 查段表,得到页表所在位置。(2) 根据逻辑页号 (p) 访问页表,得到该页所在的物理页号 (p') 。(3) 将物理页号 (p') 和逻辑地址中的页内地址 (d) 拼接,形成访问内存单元的物理地址 (p' ,d) 。 )45. 为了提高地址转换速度, 页式存储管理增加一张陕表 (相联存储器 )存放页表的一部分, 说明其处理方法。正确答案: ( 快表只存放当前进程最活跃的少数几页,随着进程的推进,快表内容动态更新。当某一程序需 要存取数据时,根据该数据所在逻辑页号

45、在快表中找出对应的物理页号,然后拼接页内地址,以形成物理 地址;如果在快表中没有相应的逻辑页号,则地址映射仍然通过内存中的页表进行,得到物理页号后须将 该物理页号填到快表的空闲单元中。若无空闲单元,则根据淘汰算法淘汰某一行,再填入新得到的内容。 实际上,查找快表和查找内存页表是并行进行的,一旦发现快表中有与所查页号一致的逻辑页号就停止查 找内存页表。在快表中,除了逻辑页号、物理页号对应外,还另外增加了几个位。其中,特征位表示该行是否为空,用0 表示空,用 1 表示有内容;访问位表示该页是否被访问过,用 0 表示未访问, 1 表示已访问,这是为了淘 汰那些用得很少甚至不用的页面而设置的。 )46

46、. 分析存储管理中,页表的功能是什么 ?当系统中的地址空间变得非常大时,会给页表的设计带来什么样 的新问题 ?给出一种解决方案,分析它的优缺点。正确答案: ( 在分页系统中, 允许将进程的每一页离散地存储在内存的任何物理块中,但系统应能保证进程 的正确运行, 即能在内存中找到每个页面所对应的物理块。 为此,系统又为每个进程建立一张页面映射表, 简称页表。在进程中地址空间内的所有页(0n) 依次在页表中有一页表项,即可找到每页在内存中的物理块号。可见,页表的作用是实现从页号到物理块号的地址映射。 现代的大多数计算机系统,都支持大的逻辑地址空间(2 32264) 。在这样的环境下,页表就变得非常大

47、,要占用相当大的内存空间。 例如,对于一个具有 32位的逻辑地址空间的分页系统规定页面大小为4KB即 212B,则在每个进程页表中的页表项可达 1M个之多。又因为每个页表项占用 4B(字节 ) ,故每个进程的页表就要 占用 4MB的内存空间,而且还要求是连续的,显然这是不现实的。我们可以使用下述两个方法来解决这一 问题: ·对页表所需要的内存空间,采用离散分配方式,来解决难以找到一块连续的大内存空间的问题; ·只将当前需要的部分页表调入内存,其余的页表项仍驻留在磁盘上,需要时再将它们调入内存。 因此就发展出两级页表。 在用户逻辑地址原来划分的基础上, 将页表部分再分为页表索

48、引项和页表两部分。 也就是说对页表进行分页, 使每个页面的大小与内存物理块的大小相同。 比如 32 位的逻辑地址可采用如下 所示的格式:* 对投入运行的程序,将其页表产生索引调入内存,而对其页表调入少量的页。程序运行时如果找不到相应 的页表,则产生中断信号,请求操作系统将该页表调入内存。两级页表适应了大地址空间的需要,实现了虚拟存储系统,但增加了地址变换的开销和操作系统管理的复 杂性。 )47. 解释请求页式内存管理先进先出算法及最近最久未使用算法的主要区别。正确答案: (先进先出算法 (FIFO) 是最早出现的置换算法。该算法总是淘汰最先进入内存的页面, 即选择在 内存中驻留时间最久的页面予

49、以淘汰。该算法实现简单,只需把一个进程己调入内存的页面,按先后次序 链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。但该算法与进程实际运行 的规律不相适应, 因为在进程中, 有些页面经常被访问, 比如, 含有全局数量、 常用函数、 例程等的页面, FIFO 置换算法并不能保证这些页面不被淘汰。FIFO 置换算法之所以性能较差,是它所依据的条件是各个页面调入的时间,而页面调入的先后并不能反应 页面的使用情况。 而最近最久未使用 (LRU) 的页面置换算法, 则是根据页面调入内存后的使用情况。 由于无 法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似

50、。因此,LRU置换算法是选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次 被访问以来所经历的时间,当需淘汰一个页面时,选择现有页面中值最大的,即最近最久未使用的页面予 以淘汰。 )48. 在动态地址定位中,用到了哪些寄存器 ?并说明这些寄存器在重定位中起什么作用?正确答案: (动态地址重定位是在程序执行过程中, 在 CPU访问内存之前, 将要访问的程序或数据的逻辑地 址转换成内存地址。动态重定位是一种允许作业在运行过程中在内存转移的技术,但它必须获得硬件地址变换机构的支持,即 在系统中增加一个重定位寄存器,用它来装入程序在内存中的起始地址。程序在执行时,

51、真正访问内存的 地址是有效地址与重定位寄存器中的地址相加形成的。地址变化过程是在程序执行期间随着对每条指令和 数据的访问自动形成的。动态重定位必须依靠硬件地址变换机构完成,地址重定位机构需要一个(多个)基地址寄存器 BR和一个 ( 多个) 程序虚拟地址寄存器 VR。指令或数据的内存地址 MA与虚拟地址的关系为: MA=(BR)+(VR) 这里, (BR) 与(VR)分别表示寄存器 BR与 VR中的内容。 )49. 在段式存储管理中,代码共享是如何实现的?可共享代码的程序应具备怎样的特征 ?正确答案: ( 由于现代操作系统都是多道程序系统,多个进程可能需要共享代码或数据。在程序设计中,这 种共享

52、往往是通过给出代码段 ( 子程序)名字进行调用的方式实现的。在页式管理中虚拟地址是连续的,映 射到实际物理的页面是不连续的,编译程序要能够预知代码段执行时实际存放的页面是不可能的,同时考 虑到同一页面中可能存放有多个子程序的代码,因此通过页面号或页号来共享代码页是不可能的。 因为上述代码共享困难的原因, 提出了段式储存管理。 段式管理的基本思想是: 把程序按内容或过程 (函数 ) 关系分成段, 每个段有自己的名字 (编号) 。一个作业或进程的虚拟存储空间都对应于一个由段号( 段号:段内偏移 ) 构成的二维地址, 编译程序在链接过程中就直接形成这样的二维地址形式。段式管理以段为单位分配内存,然后

53、通过地址变化将段式虚拟地址转换成实际的内存物理地址。和页式管理一样,段式管理也采 用只把那些经常访问的段驻留内存,而把那些将来一段时间不被访问的段放入外存,待需要时自动调入的 方法实现虚拟存储器。段式管理把一个进程的虚拟地址空间设计成二维结构,即段号 (段号:段内偏移 ) 的形式。与页式管理编译 程序产生一维连续地址不同,段式管理系统中的编译程序译成多个段及段的名字或编号,各个段号之间无 顺序关系。 与页式管理页长度相同不一样, 段的长度是不同的, 每个段定义一组逻辑上完整的程序或数据。 例如,在 DOS操作系统中,一个程序内部被分为了正文段、数据段、堆栈段等。每个段是一个首地址为0并连续的一

54、维线性空间。 )50. 引用覆盖及交换技术,主要用于解决存储管理中的什么问题?它们适合于什么方式的存储管理模式 ?正确答案: ( 将程序划分为若干个功能上相对独立的程序段, 按照程序的逻辑结构让那些不会同时执行的程 序段共享同一块内存区的内存扩充技术就是覆盖。交换是指先将内存某部分的程序或数据写入外存交换区,再从外存交换区中调入指定的程序或数据到内存 中来并让其执行的一种内存扩充技术。与覆盖技术相比,交换不要求程序员给出程序段之间的覆盖结构,并且交换主要是在进程或作业之间进行 的,而覆盖则主要在同一个作业或同一个进程内进行。另外,覆盖只能覆盖那些与覆盖程序段无关的程序 段,它们都适合虚拟页式存

55、储管理系统。 )在虚拟页式存储系统中引入了缺页中断:(分数: 4.00 )(1) . 试说明为什么引入缺页中断 ?正确答案: ( 虚拟页式存储系统是将作业信息的副本存放在磁盘等辅助存储器中, 当要投入实际运行时, 至 少要将作业的第一页信息装入主存。在执行过程中访问到不在主存的页面时,则产生中断;并由系统响应 中断,将所缺的页面从辅存中装入主存,然后恢复中断并继续执行。所以缺页中断是必不可少的。 )(2) . 缺页中断的实现由哪几部分组成 ? 并分别给出其实现方法。正确答案: ( 缺页中断由相应的硬件和软件共同完成。·硬件:作业访问某页面时,硬件的地址转换机构查页表,若该页对应驻留标

56、志为1,则进行地址转换为绝对地址;若为 0,则由硬件发出一个缺页中断,表示该页不在主存中。·软件:中断处理程序先看主存是否还有空缺块,若有,根据辅助存储器的地址找到该页并装入主存,并 在页表中填上它用的块号,修改标志;若无,必须根据一定的页面淘汰算法选择已在主存中的某页淘汰, 再将所需页面装入,对页表和主存分配表作相应的修改。 )51. 存储器管理中,产生系统颠簸的原因是什么?如何消除 ?正确答案: ( 在请求分页系统中, 通常每一个进程都只能分配到它所需要的全部内存空间中的一部分;如果 进程 A 在运行过程中需要增加页面,它便会产生中断。在采用全局置换策略时,实际上它有可能是被分配

57、 到一个原属 B 进程的物理块,用来装入新调入的页。而B进程在运行中还需要该物理块,因而也会产生缺页中断,于是有可能又获得 C 进程的一个物理块,等等。而这些产生缺页中断的进程,可能会因页面的调 入/ 调出而处于等待状态,从而导致就绪队列空。通过对 CPU工作情况的监督, 一旦调度程序发现 CPU的利用率降低时, 应立即提高多道程序度, 以提高 CPU 的利用率。为此,须引入新的进程参加运行。当新进程进入内存时,客观上又只是从其他运行进程处去获 得物理块,于是又将进一步加剧进程的缺页情况,使等待页调入 / 调出的进程数目也随之增多。可以看出, 这又将使 CPU的利用率进一步下降。于是,调度程序为了提高CPU的利用率,又去引进新的进程,如此产生的恶性循环,使缺页率急剧地上升,使有效访问存储器的时间也急剧增加。换言之:使运行进程的大部 分时间都用于进行页面的换入 / 换出,而几乎不能完成任何有效的工作。 称这时的进程是处于 “

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论