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


姓名:张皓落

学号:201821121005

班级:计算1811

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

 

 定义结构体MENIFO用于存放内存空间使用的情况,分别记录其进程编号,其实地址,以及所占内存的大小和内存空间的状态,另外设置其有MEMSIZE=100,并且定义有100个该结构体。

2. 记录空闲分区

空闲分区将根据内存空间信息表来中的状态判断来生成空闲分区表,空闲分区段是进程编号将会设置为-1,分期去状态将会设置为f,在显示的时候将按照该状态输出相应的空闲分区信息,包括空闲分区的大小和起始地址。

3. 内存分配算法

 将采用最佳适配法对内存进行分配,首先通过随机数产生需要分配内存的进程号,然后判断是否已经分配过该进程,若分配过则返回,若为分配过则再内存空间信息表,寻找空闲分区找出比符合要求的最小空间小的分区,则将其分配给该进程,然后改变其相应的参数,并且将该分区后边的信息表更新,如果没有找到适合的空闲分区则将给出提示并退出。

4. 内存释放算法

 随机产生需要释放的进程的内存的进程号,然后找出相应的内存空间信息表中对应的编号,将其空间释放,然后判断其左右是否有空闲分区,将其合并后,更新内存空间信息表。显示相应的内存空间信息表和进程表。

5. 运行结果

(1)产生测试数据

 

 

 

(2)解释结果

一开始将对三个进程产生随机的(1~10)的内存空间对进程的内存大小初始化以及内存空间信息表初始化:

 

第一:将为进程1分配相应的内存

第二:将为进程2分配相应的内存

第三:将为进程0分配相应的内存

第四:释放进程1的内存

第五:释放进程0的内存

第六:将为进程1分配相应的内存

第七:释放进程1的内存

第八:释放进程2的内存

第九:将为进程0分配相应的内存

第十:释放进程0的内存

附·:显示函数

 

posted @ 2020-05-15 22:41  现世安稳  阅读(199)  评论(0编辑  收藏  举报