内存管理练习带答案
Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
内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)采用分段存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是 _B__ 。
A. 224 B. 216 C. 28 D. 232
(6)设内存分配情况如图6-20所示。若要申请一块40K字节的内存空间,采用最佳适应算法,则所得到的分区首址为 _C__ 。
图6-20 内存分配
A.
0
占用 占用 占用 占用 情况
B. 190K C. 330K
D. 410K
(7)把作业地址空间使用的逻辑地址变成内存的物
180K
理地址称为 __D__ 。
A. 加载 B. 物理化 190K
C. 逻辑化 D. 重定位
(8)在以下存储280K 管理方案中,不适用于多道程序设计系统的是 _C_ 。
A. 固定式分区分配 B. 页式存储管理 C. 单一连续分配 D. 可变式分区分配
(9)在可变式分区分配方案中,某一作业完成后,系统收回其内存空间并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是 _D__ 。
A. 无上邻空闲区也无下邻空闲区
100K
100K
B. 有上邻空闲区但无下邻空闲区 C. 有下邻空闲区但无上邻空闲区 D. 有上邻空闲区也有下邻空闲区
(10)采用两级页表的页式存储管理中,按给定的逻辑地址进行读写时,通常需访问主存的次数是__C__ 。
A. 1次 B. 2次 C. 3次 D. 4次 (11)在存储管理中,采用覆盖与交换技术的目的是 __ A ___。 A. 减少程序占用的主存空间 B.物理上扩充主存容量 C. 提高CPU效率 D.代码在主存中共享 (12)分区管理和分页管理的主要区别是 ___D____。 A. 分区管理中的块比分页管理中的页要小 B. 分页管理有地址映射而分区管理没有 C. 分页管理有存储保护而分区管理没有
D. 分区管理要求一道程序存放在连续的空间内而分页管理没有这种要求
(13)在一页式存储管理系统中,页表内容如图6-21所示。若页的大小为4K,则地址转换机构将逻辑地址0转换成物理地址为 ___A____ 。(块号也从0开始编号)
页号 6-21 页表块号图 0 2 现执行1 1 (其中2 6 理地址3 3 4 7 +480K
段号 段首址 0 120K 1 760K 2 480K 3 370K 图6-22 段2)填空题
(1)把作业装入内存中随即进行地址变换的方式称为 静态重定位 ,而在作业执行期间,当访问到指令或数据时才进行地址变换的方式称为 动态
(14)某段表的内容如图6-22所示,某条指令Load 1, 2/154,逻辑地址2/154段号为2,段内地址为154),它对应的物为 B 。
+2 +154 C.30K+154 段长度 40K 30K 20K 20K
重定位 。
(2)在分区分配算法中,首次适应算法倾向于优先利用内存中的 低地址 部分的空闲分区,从而保留了 高地址 部分的大空闲区。
(3)分区存储管理可以分为: 固定 分区和 动态 分区。
(4)三种不连续内存管理方式是: 分页 、 分段 和 段页式 。 (5)对图6-23所示的内存分配情况(其中,阴影部分表示占用块,空白部分表示空闲块),若要申请30K的存储空间,使首地址最大的分配策略是 最差分配算法 。
0 100K 图6-23 内存分配状态
3)解答题
160K 200K (1)存储管理的主要功能是什么 320K 答:分配和回收内存。记住内存空间的使用情况;实施内存的分配和回收。 地址映射。提供地址映射功能,将逻辑地址转换为物理地址。
内存的扩充。为用户提供比内存空间大的地址空间,从而实现从逻辑上扩充内存容量的目的。
存储的保护。保证进入内存的各道作业都在自己的存储空间内运行,互不干扰。
(2)在段式存储管理和段页式存储管理中,逻辑地址是如何表示的从用户角度来看分别为几维空间
答:在段式存储管理和段页式存储管理中,逻辑地址都是用<段名,段内偏移量>来表示的。从用户角度来看都是2维地址空间。
(3)什么叫重定位重定位有哪几种类型采用内存分区管理时,如何实现程序运行时的动态重定位
答:所谓地址重定位就是当一个程序装入到与其地址不一致的存储空间时而进行地址调整过程。
重定位有静态重定位和动态重定位2种类型。
动态重定位是在内存分区管理时,利用在硬件上设置一个重定位寄存器来实现程序运行时的动态重定位。进程装入时并不修改地址,而是在程序执行期间由地址变换机构动态实现的,即物理地址等于逻辑地址加上重定位寄存器的内容。
(4)考虑一个分页表系统,其页表存放在内存。
①如果一次内存的访问时间是200ns,访问一页内存需要多少时间
②如果引入快表,并且75%的页表引用发生在快表中,假设快表的访问时
间忽略不计,则内存的有效访问时间是多少
解:①200*2=400ns。 ②100*+200*=125ns。
(6)使用伙伴系统分配一个1MB的内存块。
①画图说明内存中下面的作业请求、返回过程:作业A请求70KB;作业B请
求35KB;作业C请求80KB;返回作业A;作业D请求60KB;返回作业B;返回作业D;返回作业C。
②给出返回作业B的二叉树表示。 解:① A申请70初始状态 B申请35 C申请80 A释放 D申请60K B释放 D释放 0 128K 256K 384K 512K 640K 768K A 128K 256K 512K A B 6256K 512K 4 A B 6C 128K 512K 4 128K B 6C 128K 512K 4 128K B D C 128K 512K 128K 6D C 128K 512K 4 256K C 128K 512K