计算机存储管理应实现哪些功能?
解答:①存储分配;②存储共享;③存储保护;④存储扩充;⑤地址映射。
通常所说的"存储保护"的基本含义是(C)
A.防止存储器硬件受损
B.防止程序在内存丢失
C.防止程序间相互越界访问
D.防止程序被人偷看
解析:存储保护的基本含义就是防止程序间相互越界访问。
内存保护需要由(C)完成,以保证进程空间不被非法访问。
A.操作系统
B.硬件机构
C.操作系统和硬件机构
D.操作系统或硬件机构独立完成
解析:内存保护属于存储保护的一部分,需要操作系统配合硬件机构共同完成。
在存储管理中,为实现地址映射,硬件应提供两个寄存器,一个是基址寄存器,另一个是(B)。
A.控制寄存器
B.限长寄存器
C.通用寄存器
D.程序状态寄存器
解析:地址映射所需要的两个寄存器分别是限长寄存器和基址寄存器。
1.存储器的层次结构
2.程序的装入和链接
当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为(B)
A.源程序
B.目标程序
C.可执行程序
D.非执行程序
解析:源程序经过汇编或编译后生成目标程序,目标程序经过链接生成可执行程序。
2.1.程序的装入
把逻辑地址转变为内存的物理地址的过程称做(D)
A.编译
B.连接
C.运行
D.重定位
解析:重定位的定义就是把逻辑地址转换为物理地址。
动态重定位是在作业的(A)过程中进行的。
A.执行
B.编译
C.装入
D.修改
解析:动态重定位就是指在作业执行时才进行目标程序中指令和数据地址的修改过程。
什么是重定位?重定位的方式有哪两种?比较他们的不同。
解析:
①重定位是指将指令或数据的逻辑地址转换为内存物理地址的过程;
②重定位的方式:重定位可以分为静态重定位和动态重定位两种。
③两种方式的不同:
1.静态重定位是指在进程装入时一次性完成的,以后不再改变的重定位方式;动态重定位是指装入进程时不进行重定位,而是在进程执行时才进行重定位的方式。
2.静态重定位可以仅由软件支持完成;动态重定位需要软件硬件相互配合完成,需要引入额外的重定位寄存器来存放程序或数据在内存中的起始地址。
3.静态重定位不能实现主存的移动,而动态重定位可以实现。
4.动态重定位还可以提供虚拟存储空间。
2.2.程序的链接
3.连续分配存储管理方式
提高主存的利用率主要通过(A)实现。
A.主存分配
B.主存保护
C.主存扩充
D.地址转换
解析:提高主存的利用率主要通过合理的主存分配实现,因此主存分配意义重大。
3.1.单一连续分配
3.2.固定分区分配
分区管理要求对每一个作业都分配(A)的内存单元。
A.地址连续
B.若干地址不连续
C.若干连续的帧
D.若干不连续的帧
解析:分区管理中每一个作业都需要分配地址连续的内存单元。
3.3.动态分区分配
可变分区管理方式按作业需求量分配主存分区,所以(D)。
A.分区的长度是固定的
B.分区的个数是确定的
C.分区的长度和个数都是确定的
D.分区的长度不是预先固定的,分区的个数也不是确定的
解析:可变分区管理方式中,分区的长度不是预先固定的,并且分区的总个数也不确定。
在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减2的情况是(D)
A.无上邻空闲区,也无下邻空闲区
B.有上邻空闲区,但无下邻空闲区
C.有下邻空闲区,但无上邻空闲区
D.有上邻空闲区,也有下邻空闲区
解析:当某个作业的主存空间上下都相邻两个空闲区时,该主存空间被回收时会合并该主存空间和相邻的两个空闲区,成为一个新的空闲区,因此空闲区个数减少两个。
3.4.基于顺序搜索的动态分区分配算法
最容易形成很多小碎片的可变分区算法是(B)。
A.首次适应算法
B.最佳适应算法
C.最坏适应算法
D.以上都不是
解析:首次适应算法和最佳适应算法都会产生较多的碎片,但是最佳适应算法产生的碎片更小,并且碎片问题更严重,因此应该选择B选项。
在内存分配的"最佳适应法"中,空闲块是按(C)
A.始地址从小到大排序
B.始地址从大到小排序
C.块的大小从小到大排序
D.块的大小从大到小排序
解析:最佳适应法中空闲块按照块的大小从小到大排序。
在分区存储管理中,下面的(C)最有可能使得高地址空间变成为大的空闲区。
A.最坏适应法
B.最佳适应法
C.首次适应法
D.循环首次适应法
解析:首次适应法中,将所有空闲区按照从低地址到高地址进行查找,直到找到一个可用的空闲区,因此最有可能使得高地址空间变为大的空闲区。
碎片是指(D)
A.存储分配完后所剩的空闲区
B.没有被使用的存储区
C.不能被使用的存储区
D.未被使用,而又暂时不能使用的存储区
解析:碎片是指内存中出现的一些零散的小空闲区域。由于碎片很小,即使各小空闲区总长度能够满足用户要求,也无法再利用。
请详细说明分区式存储器管理方案三种放置策略的思想、特点及其自由主存队列的排列方式。
解答: 在分区式存储器管理方案中有三种基本的放置策略:首次适应法、最佳适应法和最坏适应法。
①首次适应法,总是从低地址开始查找,将作业放入找 到的第一个能满足作业要求的空白分区,其自由主存队列应按起始地址从小到大排序。
②最佳适应法,总是将作业放入最接近作业要求的空白分区,其自由主存队列应按分区大小从小到大排序。
③最坏适应法,总是将作业放入最大的空白分区,其自由主存队列应按分区大小从大到小排序。
3.5.基于索引搜索的动态分区分配算法
3.6.动态可重定位分区分配
可变分区存储管理采用的地址转换公式是(C)。
A.绝对地址=界限寄存器值+逻辑地址
B.绝对地址=下限寄存器值+逻辑地址
C.绝对地址=基址寄存器值+逻辑地址
D.绝对地址=块号×块长+页内地址
解析:绝对地址即内存的实际物理地址,其等于基址寄存器中的值加上逻辑地址。
4.对换
4.1.多道程序环境下的对换技术
在主存管理中,采用覆盖与交换技术的目的是(A)
A.节省主存空间
B.物理上扩充主存容量
C.提高CPU效率
D.实现主存共享
解析:主存管理中,采用覆盖与交换技术的目的就是为了节约主存空间。
4.2.对换空间的管理
对外存对换区的管理以(D)为主要目标。
A.提高系统吞吐量
B.提高存储空间的利用率
C.降低存储费用
D.提高换入、换出速度
解析:对外存对换区的管理以提高换入、换出速度为主要目标;而对外存文件区的管理以提高存储空间的利用率为主要目标。
4.3.进程的换出与换入
5.分页存储管理方式
5.1.分页存储管理的基本方法
在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6A(H),且第0,1,2页依次存放在物理块5,10,11中,问相应的物理地址为多少?
解析:
①由于页面大小为4096字节,因此页内偏移量占逻辑地址中的12位,因此页号为16-12=4位。
②因此,逻辑地址2F6A(H)所对应的页号为2(取二进制高四位为页号)。
③由于第2页存放在物理块11中,11转换为十六进制即为B。
④因此对应的物理地址为物理块号拼接上偏移量,即BF6A(H)。
支持程序紧凑的地址转换机制是(A)
A.页式地址转换
B.段式地址转换
C.静态重定位
D.动态重定位
解析:页式存储系统可以较好地解决存储碎片的问题,支持程序的紧凑地址转换。
5.2.地址变换机构
5.3.访问内存的有效时间
5.4.两级和多级页表
5.5.反置页表
6.分段存储管理方式
6.1.分段存储管理方式的引入
6.2.分段系统的基本原理
某段表内容如下:
若有逻辑地址为(2,1024),实际物理地址是多少?
解析:
①逻辑地址中,可以得出段号为2。
②查找段表,可知段首地址为480K,偏移地址为1024。
③因此实际地址为480K+1024=481K。
6.3.信息共享
6.4.段页式存储管理方式
段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想,即(B)。
A.用分段方法来分配和管理物理存储空间,用分页方法来管理用户地址空间。
B.用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间。
C.用分段方法来分配和管理主存空间,用分页方法来管理辅存空间。
D.用分段方法来分配和管理辅存空间,用分页方法来管理主存空间。
解析:段页式存储管理用分段方法管理用户地址空间,用分页方法管理物理存储空间。
在段页式管理中,每取一次数据,要访问(C)次内存。
A.1
B.2
C.3
D.4
解析:段页式管理中,每一次获取指令和数据都需要三次访问主存。第一次访问内存中的段表,第二次访问内存中的页表,第三次访问指令或数据。