实验四、动态分区存储管理
(一)、实验目的和要求为了进一步提高主存的利用率,使存储空间划分更加适应不同的作业组合,人们设
计可变式分区方案。本实验要求模拟放置与回收策略算法,加深对动态分区存储管理的理解。(二)、实验内容
本实验模拟了最佳适应算法分配算法,最坏适应算法、首次适应算法同学们可以据此自己实现。
实验原理:放置策略:首次适应算法的表是按空闲区首址升序的(即空闲区表是按空闲区首址从小到大)方法组织的。最佳适应算法是将申请者放入与其大小最接近、切割后的空闲区最小的空闲区中。若系统中有与申请区大小相等的空闲区。最坏适应算法的空闲区表是按空闲区大小降序的方法组织的(从大到小的顺序)。回收算法当一个进程(或程序)释放某内存区时,要调用存储区释放算法release它将首先检查释放区是否与空闲区表(队列)中的其它空闲区相邻,若相邻则合并成一个空闲区,否则,将释放的一个空闲区插入空闲区表(或队列)中的适当位置。空闲释放区与空闲区相邻有四种情况。上邻空闲区下上邻空闲区上、下邻空闲区上、下邻已分配区
(三)、实验环境1、pc2、vc
(四)、程序源代码:
i
cludestdiohi
cludedoshi
cludestdlibhi
cludeco
iohdefi
e
10defi
em10defi
emi
isize100structfloataddressfloatle
gthi
tflagused_table
struct
ffloataddressfloatle
gthi
tflagfree_tablemvoidallocatecharJfloatxki
tikfloatadk1fori0imiiffree_tableile
gthxkfree_tableiflag1ifk1free_tableile
gthfree_tablekle
gthkiifk1pri
tf