实验三
可变分区存储管理方式的内存分配回收
一.实验目的
(
1
)深入了解可变分区存储管理方式的内存分配回收的实现。
二.实验内容
编写程序完成可变分区存储管理方式的内存分配回收,
要求有内存空间分配表,
并采用
最优适应算法完成内存的分配与回收。
三.实验原理
在可变分区模式下,在系统初启且用户作业尚未装入主存储器之前,整个用户区是一
个大空闲分区,
随着作业的装入和撤离,
主存空间被分成许多分区,有的分区被占用,
而有
的分区时空闲的。为了方便主存空间的分配和去配,用于管理的数据结构可由两张表组成:
“已分配区表”和“未分配区表”
。在“未分配表中”将空闲区按长度递增顺序排列,当装
入新作业时,
从未分配区表中挑选一个能满足用户进程要求的最小分区进行分配。
这时从已
分配表中找出一个空栏目登记新作业的起始地址和占用长度,
同时修改未分配区表中空闲区
的长度和起始地址。当作业撤离时已分配区表中的相应状态变为“空”
,而将收回的分区登
记到未分配区表中,
若有相邻空闲区再将其连接后登记。
可变分区的回收算法较为复杂,
当
一个作业撤离时,可分为
4
种情况:其临近都有作业(
A
和