操作系统第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大小空间

 

 

posted @ 2020-05-17 17:39  菻冧  阅读(208)  评论(0编辑  收藏  举报