[发明专利]一种内存管理方法及装置无效
申请号: | 201110273998.9 | 申请日: | 2011-09-15 |
公开(公告)号: | CN102999434A | 公开(公告)日: | 2013-03-27 |
发明(设计)人: | 吕伟;邹磊;张振中 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 管理 方法 装置 | ||
1.一种内存管理方法,其特征在于,维护一个由空闲内存结点链接而成的空闲结点链表,使用头指针指向空闲结点链表上首个空闲内存结点,使用尾指针指向空闲结点链表上末个空闲内存结点,使用链指针链接空闲结点链表上相邻的空闲内存结点,每一个链指针指向其链接的两个相邻的空闲内存结点中位置在后的空闲内存结点,所述方法包括:
在分配内存时,从空闲结点链表上获取空闲内存结点进行分配,并更改相关指针信息维护删除该分配的空闲内存结点之后的空闲结点链表;和/或,
在回收内存时,将回收的内存结点挂回到空闲结点链表上,并更改相关指针信息维护增加该回收的内存结点之后的空闲结点链表。
2.如权利要求1所述的方法,其特征在于,在分配内存时,具体包括:
从空闲结点链表上获取当前的首个空闲内存结点进行分配,修改头指针指向当前的第二个空闲内存结点,删除所述首个空闲内存结点和第二个空闲内存结点之间的链指针;或者,
从空闲结点链表上获取当前的末个空闲内存结点进行分配,删除指向所述末个空闲内存节点的链指针,并修改尾指针指向当前的倒数第二个空闲内存结点;或者,
从空闲结点链表上获取当前的首个和末个之外的一个空闲内存结点进行分配,删除指向所述首个和末个之外的一个空闲内存节点的链指针。
3.如权利要求1或2所述的方法,其特征在于,在回收内存时,具体包括:
将回收的内存结点挂回到空闲结点链表的头部,增加指向当前的首个空闲内存结点的链指针,使用所述增加的链指针链接所述回收的内存结点和首个空闲内存结点,并修改头指针指向所述回收的内存结点;或者,
将回收的内存结点挂回到空闲结点链表的尾部,增加指向所述回收的内存节点的链指针,使用所述增加的链指针链接当前的末个空闲内存结点和所述回收的内存结点,并修改尾指针指向所述回收的内存结点;或者,
将回收的内存结点挂回到空闲结点链表的头部和尾部之间,增加指向所述回收的内存节点的链指针,使用所述增加的链指针链接回收的内存结点所在位置的上一空闲内存结点和所述回收的内存结点。
4.如权利要求1所述的方法,其特征在于,
在分配内存时,从空闲结点链表上获取当前的首个空闲内存结点进行分配,修改头指针指向当前的第二个空闲内存结点,删除所述首个空闲内存结点和第二个空闲内存结点之间的链指针;以及
在回收内存时,将回收的内存结点挂回到空闲结点链表的尾部,增加指向所述回收的内存节点的链指针,使用所述增加的链指针链接当前的末个空闲内存结点和所述回收的内存结点,并修改尾指针指向所述回收的内存结点。
5.如权利要求1所述的方法,其特征在于,
在分配内存时,从空闲结点链表上获取当前的末个空闲内存结点进行分配,删除指向所述末个空闲内存节点的链指针,并修改尾指针指向当前的倒数第二个空闲内存结点;以及
在回收内存时,将回收的内存结点挂回到空闲结点链表的头部,增加指向当前的首个空闲内存结点的链指针,使用所述增加的链指针链接所述回收的内存结点和首个空闲内存结点,并修改头指针指向所述回收的内存结点。
6.如权利要求1所述的方法,其特征在于,每一个链指针分别存储在其链接的两个相邻的空闲内存结点中位置在前的空闲内存结点所占用的内存空间中。
7.如权利要求1或6所述的方法,其特征在于,所述头指针和尾指针存储在预留的固定大小的内存空间中,以及所述预留的固定大小的内存空间中还存储空闲结点链表的空闲内存空间大小。
8.一种内存管理装置,其特征在于,包括:
第一指针存储单元,用于存储由空闲内存结点链接而成的空闲结点链表的头指针和尾指针,所述头指针用于指向空闲结点链表上首个空闲内存结点,所述尾指针用于指向空闲结点链表上末个空闲内存结点;
第二指针存储单元,用于存储链指针,所述链指针用于链接空闲结点链表上相邻的空闲内存结点,每一个链指针指向其链接的两个相邻的空闲内存结点中位置在后的空闲内存结点;
分配单元,用于在分配内存时,从空闲结点链表上获取空闲内存结点进行分配,并更改相关指针信息维护删除该分配的空闲内存结点之后的空闲结点链表;和/或,回收单元,用于在回收内存时,将回收的内存结点挂回到空闲结点链表上,并更改相关指针信息维护增加该回收的内存结点之后的空闲结点链表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110273998.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种外部设备检测的处理方法及装置
- 下一篇:大板支撑装置