实验四 存储管理(一)
学号: 姓名: 班级: 实验目的:
1。 了解存储管理的内容和目的。 2。 掌握分区式存储管理的主要内容 3。 掌握可变分区管理分配策略。 实验内容: 一、填空:
1。存储管理的实质对 内存 的管理,主要对内存中 用户 区进行管理 2。将作业相对地址空间的相对地址转换成内存中的绝对地址的过程称为 地址重定位 3。在可变分区存储管理中采用最佳适应算法时,最好按分区块 大小从小到大 排序空闲分区。 4。在可变分区存储管理中采用最先适应算法时,最好按分区块 地址从低到高排序空闲分区。
5。静态重定位在程序 装入 时进行,动态重定位在程序 执行 时进行。
6。在可变分区管理中有两张说明表,一是已分配分区说明表,一是空闲分区说明表。 7。 可变分区管理中的空闲分区表根据分配算法需要排序。已分配分区表不需要排序。(需要、不需要)
二、简答:
1.何谓名字空间?何谓地址空间?何谓存储空间?
答:名字空间:程序中符号名的集合。
地址空间:在目标模块中的地址的集合。 存储空间:实际内存地址的集合。 符号源 汇编编译 相对目标程 地址重定位 绝对目标 程序 序 程序 连接 名字空间 地址空间 存储空间
2.分区式存储管理能用于实现虚拟内存吗?(虚拟内存P165-166)
答:不能,因为虚拟存储最重要的特点就是离散性,而分区式存储管理只适用于连续分配方式,即全部程序都放在内存,而不允许程序运行时一部分在内存、
一部分在外存。所以,无法提供内存的逻辑扩充功能。
3。为什么要引入动态重定位?如何实现? 答:
为了在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址,引入了动态重定位。
可在系统中增加一个重定位寄存器,用它来装入(存放)程序在内存中的起始地址,程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的,从而实现动态重定位。
4。 分区存储管理中常采用哪些分配策略?
答:
固定式分区:又称静态分区,它是在系统初始化时,把内存空间划分为若干个大小不等的分区,分区的大小和分区的个数预先确定好,一旦划分好,在没有人工干预的情况下,内存的划分方式不变。
可变分区分配:与固定分区法相同,可变分区法也要使用分区说明表等数据结构对内存进行管理。但由于随着时间的推移,系统中分区的个数是不断变化的。
5。 最佳适应(Best Fit)算法和最坏适应(Worst Fit)算法优缺点:
最佳适应算法:要求按空闲区大小从小到大的次序组成空闲区可用表或自由链。当用户作业或进程申请一个空闲区时,存储管理程序从表头开始查找,当找到第一个满足要求的空闲区时,停止查找。如果该空闲区大于请求表中的请求长度,则与最先适应法时相同。将减去请求长度后的剩余空闲区部分留在可用表中。
最坏适应算法:要求空闲区按其大小递减的顺序组成空闲区可用表或自由链。当用户作业或进程申请一个空闲区时,先检查空闲区可用表或自由链的第一个空闲可用区的大小是否大于或等于所要求的内存长度,若可用表或自由链的第一个项所示空闲区长度小于所要求的,则分配失败,否则从空闲区可用表或自由链中分配相应的存储空间给用户,然后修改和调整空闲区可用表或自由链。
优缺点:
最佳适应算法使剩下的空间尽量最小,但有可能由于空间过小导致其他程序无法使用而变成碎片。
最坏适应算法使剩下的空间尽量最大,减少了产生碎片的机会,但会使空闲分区大的分区较少,无法满足后面需求存储空间较大的作业。 三、应用题:
1.在可变分区存储管理中,按地址法组织当前的空闲分区,其大小分别为:10KB,4KB,20KB,18KB,7KB,9KB,12KB和15KB。现在依次有3个存储请求为:12KB,10KB,9KB。试问使用最先适应算法时的分配情形如何?最佳适应、最坏适应呢?(不考虑存储释放情况) (1)最先适应算法
请求队列 最先适应算法 初始 12K 10K 9K (2)最佳适应算法
10K 4K 20K 18K 7K 9K 12K 15K 10K 4K 8K 18K 7K 9K 12K 15K 0 4K 8K 18K 7K 9K 12K 15K 0 4K 8K 9K 7K 9K 12K 15K (3)最坏适应算法
请求队列 最佳适应算法 初始 10K 4K 20K 18K 7K 9K 12K 15K 12K 10K 4K 20K 18K 7K 9K 0 15K 10K 0 4K 20K 18K 7K 9K 0 15K 9K 0 4K 20K 18K 7K 0 0 15K 请求队列 最坏适应算法 初始 10K 4K 20K 18K 7K 9K 12K 15K 12K 10K 4K 8K 18K 7K 9K 12K 15K 10K 10K 4K 8K 8K 7K 9K 12K 15K 9K 10K 4K 8K 8K 7K 9K 12K 6K