标题: 内存的malloc和free结构体 [打印本页]

作者: 51黑黑黑    时间: 2016-2-23 23:21
标题: 内存的malloc和free结构体
内存的malloc和free结构体:
接上文,内存也需要像FAT32文件这样操作。动态分配这个空间。

那么,一个什么样的结构,可以满足内存的动态分配呢?

struct RAM{
int *Pbefore;
int *Pstart;
int lenth;
int *Pnext;
};
int  *Pstart:空白内存的首地址
int   lenth:空白内存的长度
int   *Pnext:下一个空白内存地址
int *Pbefore:上一个空白内存地址

动态分配RAM的过程:
1:顺着链表一个方向,寻找大于申请空间的RAM

2:找到之后,将Pstart = Pstart + lenth;//修改剩余空间的指针

3:将lenth =lenth - Req_lenth;       //剩余的空间

4:同时回朔上一个空白地址结构,将其Pnext = Pstart; //修改上一个RAM的Pnext指向地址

4:返回最早的地址。


这只是一个最简单的模型:在这个模型里面,我们只要一找到有空白空间,就进行分配

   其实,是不是可以再找找看,有没有更合适的空间,刚刚比需要的空间大一点点,这样,内存的使用是不是更有效果呢?!






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1