操作系统第5次实验报告:内存管理
- 姓名:江雄鹏
- 学号:201821121043
- 班级:计算1812
1. 记录内存空间使用情况
建立一个链表来记录内存空间的使用情况
创建参数为(pid,size,start_addr,process_name,allocated_block*next)的结构体allocated_block
2. 记录空闲分区
建立一个链表来记录空闲分区。

设置头指针为空指向链表首地址,使用后面的算法进行排序,从低地址开始查找
3. 内存分配算法
分配内存:

分配内存模块:

为进程分配内存:

4. 内存释放算法
释放进程内存包括更新分区表和进程节点两个部分。
释放链表节点:

更新分区表:

5. 运行结果


选取4组结果分析:
创建PID:3,从地址0处开始,分配了42个大小的空间。分配后空闲内存从地址42开始,大小为982。

创建PID:4,从地址42开始,分配了79个大小的空间。分配后空闲内存从地址121开始,大小为903。

释放PID3,空闲内存获得了从0开始大小为42的空间。

创建了PID:5,从地址121开始,分配了大小为44的空间。同样的空闲内存由原来121开始的903大小空间变成了165开始的859大小空间

浙公网安备 33010602011771号