1、第 6 章 内存管理1)选择题(1)采用 _B_ 不会产生内部碎片。A. 分页存储管理 B. 分段存储管理C. 固定分区存储管理 D. 段页式存储管理(2)首次适应算法的空白区是 _A_ 。A. 按地址由小到大排列 B. 按地址由大到小排列C. 按大小递减顺序连在一起 D. 按大小递增顺序连在一起(3)在分区存储管理中的拼接技术可以 _A_ 。A. 集中空闲区 B. 增加内存容量C. 缩短访问周期 D. 加速地址转换(4)在固定分区分配中,每个分区的大小是 _D_ 。A. 可以不同但根据作业长度固定 B. 相同C. 随作业长度变化 D. 可以不同但预先固定(5)采用分段存储管理的系统中,若地址
2、用 24 位表示,其中 8 位表示段号,则允许每段的最大长度是 _B_ 。A. 224 B. 216 C. 28 D. 232(6)设内存分配情况如图 6-20 所示。若要申请一块 40K 字节的内存空间,采用最佳适应算法,则所得到的分区首址为 _C_ 。图 6-20 内存分配情况A. 100K B. 190K C. 330K D. 410K(7)把作业地址空间使用的逻辑地址变成内存的物理地址称为 _D_ 。A. 加载 B. 物理化占用占用占用占用0100K180K190K280K330K390K410K512K1C. 逻辑化 D. 重定位(8)在以下存储管理方案中,不适用于多道程序设计系统的
3、是 _C_ 。A. 固定式分区分配 B. 页式存储管理C. 单一连续分配 D. 可变式分区分配(9)在可变式分区分配方案中,某一作业完成后,系统收回其内存空间并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减 1 的情况是 _D_ 。A. 无上邻空闲区也无下邻空闲区 B. 有上邻空闲区但无下邻空闲区C. 有下邻空闲区但无上邻空闲区D. 有上邻空闲区也有下邻空闲区(10)采用两级页表的页式存储管理中,按给定的逻辑地址进行读写时,通常需访问主存的次数是_C_ 。A. 1 次 B. 2 次 C. 3 次 D. 4 次(11)在存储管理中,采用覆盖与交换技术的目的是 _ A _。A. 减少程序占用
4、的主存空间 B.物理上扩充主存容量C. 提高 CPU 效率 D.代码在主存中共享(12)分区管理和分页管理的主要区别是 _D_。A. 分区管理中的块比分页管理中的页要小B. 分页管理有地址映射而分区管理没有C. 分页管理有存储保护而分区管理没有D. 分区管理要求一道程序存放在连续的空间内而分页管理没有这种要求(13)在一页式存储管理系统中,页表内容如图 6-21 所示。若页的大小为 4K,则地址转换机构将逻辑地址 0 转换成物理地址为 _A_ 。(块号也从 0 开始编号)A.8192 B.4096 C.2048 D.1024(14)某段表的内容如图 6-22 所示,现执行某条指令 Load 1
5、, 2/154,逻辑地址2/154(其中段号为 2,段内地址为 154),它对应的物理地址为 B 。A.120K+2 B.480K154 C.30K+154 D.2480K段号 段首址 段长度页号 块号0 21 12 63 34 7图 6-21 页表0 120K 40K1 760K 30K2 480K 20K3 370K 20K2)填空题(1)把作业装入内存中随即进行地址变换的方式称为 静态重定位 ,而在作业执行期间,当访问到指令或数据时才进行地址变换的方式称为 动态重定位 。(2)在分区分配算法中,首次适应算法倾向于优先利用内存中的 低地址 部分的空闲分区,从而保留了 高地址 部分的大空闲区
6、。(3)分区存储管理可以分为: 固定 分区和 动态 分区。(4)三种不连续内存管理方式是: 分页 、 分段 和 段页式 。(5)对图 6-23 所示的内存分配情况(其中,阴影部分表示占用块,空白部分表示空闲块),若要申请 30K 的存储空间,使首地址最大的分配策略是 最差分配算法 。图 6-23 内存分配状态3)解答题(1)存储管理的主要功能是什么?答:分配和回收内存。记住内存空间的使用情况;实施内存的分配和回收。地址映射。提供地址映射功能,将逻辑地址转换为物理地址。内存的扩充。为用户提供比内存空间大的地址空间,从而实现从逻辑上扩充内存容量的目的。存储的保护。保证进入内存的各道作业都在自己的存
7、储空间内运行,互不干扰。(2)在段式存储管理和段页式存储管理中,逻辑地址是如何表示的?从用户角度来看分别为几维空间?答:在段式存储管理和段页式存储管理中,逻辑地址都是用来表示的。从用户角度来看都是2维地址空间。0100K160K200K320K350K400K410K600K1图 6-22 段表(3)什么叫重定位?重定位有哪几种类型?采用内存分区管理时,如何实现程序运行时的动态重定位? 答:所谓地址重定位就是当一个程序装入到与其地址不一致的存储空间时而进行地址调整过程。重定位有静态重定位和动态重定位2种类型。动态重定位是在内存分区管理时,利用在硬件上设置一个重定位寄存器来实现程序运行时的动态重
8、定位。进程装入时并不修改地址,而是在程序执行期间由地址变换机构动态实现的,即物理地址等于逻辑地址加上重定位寄存器的内容。(4)考虑一个分页表系统,其页表存放在内存。如果一次内存的访问时间是200ns,访问一页内存需要多少时间?如果引入快表,并且75%的页表引用发生在快表中,假设快表的访问时间忽略不计,则内存的有效访问时间是多少?解:200*2=400ns 。100*0.75+200*0.25=125ns。(6)使用伙伴系统分配一个1MB的内存块。画图说明内存中下面的作业请求、返回过程:作业A 请求70KB;作业B请求35KB;作业 C请求 80KB;返回作业A;作业D请求60KB;返回作业B;返回作业D;返回作业C 。给出返回作业B的二叉树表示。解:返回作业B的二叉树A申请70 A 128K 256K 512KB申请35 A B 64 256K 512KC申请80 A B 64 C 128K 512KA释放 128K B 64 C 128K 512KD申请60K 128K B D C 128K 512KB释放 128K 64 D C 128K 512KD释放 256K C 128K 512KC释放0 128K 256K 384K 512K 640K 768K 896K 1M初始状态DC1M512K256K128K64K