[源码和文档分享]基于JAVA实现的操作系统模拟内存分配

原创
2019/08/14 17:15
阅读数 4

第一章 概述

1.1 项目背景

掌握内存分配FF,BF,WF策略及实现的思路

掌握内存回收过程及实现思路

实现内存的申请、释放的管理程序,调试运行,总结

1.2 编写目的

了解操作系统内存分配的算法。

1.3 开发环境

系统环境:Windows 10

开发IDE:intellij idea17.10

第二章 需求分析

2.1 问题陈述

定义一个自由存储块链表,按块地址排序,表中记录块的大小。当请求分配内存时,扫描自由存储块链表,址到找到一个足够大的可供分配的内存块,若找到的块大小正好等于所请求的大小时,就把这一块从自由链表中取下来,返回给申请者。若找到的块太大,即对其分割,并从该块的高地址部分往低地址部分分割,取出大小合适的块返回给申请者,余下的低地址部分留在链表中。若找不到足够大的块,就从操作系统中请求另外一块足够大的内存区域,并把它链接到自由块链表中,然后再继续搜索。

释放存储块也要搜索自由链表,目的是找到适当的位置将要释放的块插进去,如果被释放的块的任何一边与链表中的某一块临接,即对其进行合并操作,直到没有合并的临接块为止,这样可以防止存储空间变得过于零碎。

空闲区采用分区说明表的方法实现上述的功能,要求同上。

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1879.html

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部