一、实验目的
通过编程进一步了解内存管理。
二、实验内容
- 在服务器上用Vim编写一个程序:仿真实现某个内存管理算法,测试给出结果,并对解释运行结果。
三、实验报告
在写报告之前,先仔细阅读:将作业提交到班级博客的一些注意事项。
在博文开头给出你的个人信息
提交实验报告,从下面开始(在这之前的内容不需要拷贝到你的实验报告)。
- 姓名
- 学号
- 班级
1. 记录内存空间使用情况
解释你是如何记录内存空间使用情况,给出关键代码。
2. 记录空闲分区
用什么样的方法记录内存空闲区,给出关键代码。
- 空闲分区表
- 空闲分区链表
- 位图
- ...
3. 内存分配算法
使用什么样的内存分配算法,给出算法源代码,并解释。
- 内存分配:最佳分配、最差分配、首次适配、循环首次适配、快速适配、伙伴系统
- 虚拟内存分配:分页、分段、段页式(实现虚拟内存分配,加10分,按30分来打分)
4. 内存释放算法
进程终止,释放内存,如何释放,如何更新内存空闲分区表。给出算法源代码,并解释。
5. 运行结果
(1)产生测试数据
写程序,产生测试数据(随机)。给出你的源码,以及你生成的测试数据是什么。
随机为3个进程分配、释放内存10次以上,即随机产生10组以上数据:(进程Pi 分配内存大小) 或者 (进程Pi结束)
(2)解释结果
每一次内存分配或释放,内存的示意图是怎样的。给出4组分析即可。
6. 加分项
实现虚拟内存管理(分页、分段、段页式),按总分30分来评。