文件名称:memmgr
介绍说明--下载内容均来自于网络,请自行研究使用
模拟内存管理。
申请内存时,若当前结点指示的内存为空且大小相同,则直接将该节点的标志位置成0,并返回该节点的首地址,若当前结点指示的内存空间大于申请的空间,则申请一个新结点插入到当前结点的后面,将当前节点的标志位置成0,内存块大小改成申请的内存的大小,将新建结点的标志位置成空,大小为原来块的大小减去当前结点块的大小。
若申请的内存空间大于当前空结点的块的大小,则继续向后查找。
释放内存时,定义*prev,*prv *prev指向释放内存块,prv指向所释放内存块的前结点。
若释放的节点的首地址与当前结点的首地址相同且当前结点不空,将当前结点的标志位置成1,若当前结点的前一结点为空,则合并,若当前结点的后一结点为空,则再合并
申请内存时,若当前结点指示的内存为空且大小相同,则直接将该节点的标志位置成0,并返回该节点的首地址,若当前结点指示的内存空间大于申请的空间,则申请一个新结点插入到当前结点的后面,将当前节点的标志位置成0,内存块大小改成申请的内存的大小,将新建结点的标志位置成空,大小为原来块的大小减去当前结点块的大小。
若申请的内存空间大于当前空结点的块的大小,则继续向后查找。
释放内存时,定义*prev,*prv *prev指向释放内存块,prv指向所释放内存块的前结点。
若释放的节点的首地址与当前结点的首地址相同且当前结点不空,将当前结点的标志位置成1,若当前结点的前一结点为空,则合并,若当前结点的后一结点为空,则再合并
(系统自动生成,下载前可以参看下载内容)
下载文件列表
压缩包 : 53607929memmgr.rar 列表 内存管理\memmgr_linux.c 内存管理\memmgr_win.c 内存管理