内存管理系统设计报告
0
1.概述
1.1 设计题目
某机器存储空间为 64KB,编制一组函数分别用于在该空间内申请储存空
间(以 256 字节为基本块,块数 1-100 可变)和释放使用完毕的存储空间。
1.2 设计目的
设计一组一组函数在内存中申请储存空间,编写一个程序反复申请,修改
和释放存储空间,并且能够观察存储空间使用情况的变化。用图形化界面进行
操作与结果显示。
1.3 设计内容
(1)设计内存管理算法并实现
(2)设计随机内存空间申请程序
(3)设计内存空间释放清除算法
(4)设计程序图形界面与内存使用情况可视化
2.设计环境与工具
Microsoft Visual Studio 2012,采用 C#语言进行编程。
1
3.设计框架
3.1 主界面与功能
主界面分为申请内存空间、进程状态显示、内存使用情况显示、内存管理
记录 4 部分。可以通过申请内存空间模块模拟进程产生并申请占用空间,通过
进程状态显示、内存使用情况显示、内存管理记录三个模块查看已产生进行的
详细信息,在内存使用情况显示模块查看内存分配情况。
3.2 内存管理算法
内存管理采用伙伴算法。
内核试图把大小为 b 的一对空闲伙伴块合并为一个大小为 2b 的单独块。满
足以下条件的两个块称为伙伴:
• 两个块具有相同的大小,记作 b。
• 它们的物理地址是连续的。
• 第一块的第一个页框的物理地址是 2×b×2
12
的倍数。
假设要请求 32 个基本块大小的空间。算法先在对应 32 个基本块的空地址表
2