操作系统第5次实验报告:内存管理

  • 姓名 危文涛
  • 学号 201821121048
  • 班级 计算1812

1. 记录内存空间使用情况

解释你是如何记录内存空间使用情况,给出关键代码。

 

 

 

2. 记录空闲分区

用什么样的方法记录内存空闲区,给出关键代码。

 

 

 

3. 内存分配算法

使用什么样的内存分配算法,给出算法源代码,并解释。

首次适应算法从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法目的在于减少查找时间。为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高地址空间保留大的空闲区

 

 

 

 

4. 内存释放算法

 

 

 

 

 

5. 运行结果

(1)产生测试数据

写程序,产生测试数据(随机)。给出你的源码,以及你生成的测试数据是什么。

随机为3个进程分配、释放内存10次以上,即随机产生10组以上数据:(进程Pi 分配内存大小) 或者 (进程Pi结束)

 

 

 

 

 

 

 

 

(2)解释结果

每一次内存分配或释放,内存的示意图是怎样的。给出4组分析即可。

第一次操作为进程process-03分配了从0开始,大小为66的一块内存单元,分配后空闲分区内存剩余地址从66开始,大小为958的一块区域。

第二次操作为进程process-01分配了从66开始,大小为78的一块内存单元,分配后空闲分区内存剩余地址从144开始,大小为880的一块区域。

第三次操作为进程process-02分配了从144开始大小为57的一块内存单元,分配后空闲分区内存剩余地址从201开始,大小为823的一块区域。

第四次操作释放了进程process-01的内存空间,释放后空闲分区内存剩余地址从66开始大小为78的一块区域和地址从201开始大小为823的一块区域。

 

posted @ 2020-05-17 14:25  kaxment  阅读(168)  评论(0编辑  收藏  举报