1、主存储器空间的分配与回收闽 南 师 范 大 学 实 验 报 告 班 级 网络一班 学号 1408180124 姓名 傅景 成绩 同组人 实验日期 课程名称:操作系统实验题目:主存储器空间的分配与回收实验目的与要求1. 熟悉主存储器空间的分配与回收过程实验环境的配置Windows环境下VC应用程序编程实验内容与具体步骤闽 南 师 范 大 学 实 验 报 告以下代码为补充代码 if(k!=-1&j=-1) free_tablek.length=free_tablek.length+L; used_tables.address=0; used_tables.length=0; else if(k=-
2、1&j!=-1) free_tablej.address=S; free_tablej.length=free_tablej.length+L; used_tables.address=0; used_tables.length=0; else if(k!=-1&j!=-1) free_tablek.length=free_tablek.length+L+free_tablej.length; free_tablej.length=0; free_tablej.address=0; free_tablej.flag=0; used_tables.address=0; used_tables.l
3、ength=0; else free_tablecur.address=S; free_tablecur.length=L; free_tablecur+.flag=1; used_tables.address=0; used_tables.length=0; 实验操作及结果:查看初始空闲区和工作区的状态,截图所示现添加作业c,长度200查看结果:继续添加作业b,长度100和作业a,长度50查看工作区、空闲区剩余可分配情况一:即存在上邻也存在下邻的情况,以及回收后相邻空闲区合并按c、b、a顺序依次回收,结果如图回收c回收b发现回收b时存在下邻,合并得到空闲区长度为300回收a以上结果为同时存在
4、上邻和下邻,空闲区将合并回收后相邻的想部分,得到如图结果情况二:既没有上邻也没有下邻时,单独回收按b、c、a顺序回收,实验结果如下:先回收b实验内容与具体步骤该实验表明,先回收b时,既不存在上邻也不存在下邻,所以此时单独回收b,如图所示回收空闲区长度刚好等于b作业的长度回收c该次回收存在上邻,合并后结果如上回收a合并相邻空闲区此时工作区没有任何作业实验内容与具体步骤测试三:当添加作业时某一可用空闲区分配后剩余的长度小于最小空闲区长度(避免过多碎片存在)时,将不对该空闲区进行分割直接分配给作业添加作业c,长度100000添加作业b,长度2350由以上截图可以看出,当空闲区减去作业长度后小于等于最小空闲区长度(100)时,将不进行分割直接分配给该作业工作使用,从第一张图可以看出b的实际工作需要长度为2350,而第二张图说明了系统将剩余的空闲区不进行分割分配给了b,长度为2400接下来进行回收,回收b将长度为2400的空闲区全部回收回收c实验心得 本次实验非常有趣,进一步了解到了主存储器空间的分配与回收,这次实验意义非凡。注:如果填写内容超出表格,自行添加附页。