[发明专利]一种通过内存块实现内存管理的方法及系统在审
| 申请号: | 201310590518.0 | 申请日: | 2013-11-21 | 
| 公开(公告)号: | CN103617123A | 公开(公告)日: | 2014-03-05 | 
| 发明(设计)人: | 余欣 | 申请(专利权)人: | 珠海金山网络游戏科技有限公司;成都西山居互动娱乐科技有限公司 | 
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 | 
| 代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 陈国荣 | 
| 地址: | 519000 广东省珠*** | 国省代码: | 广东;44 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 通过 内存 实现 管理 方法 系统 | ||
技术领域
本发明涉及内存信息技术管理领域,特别是一种通过内存块实现内存管理的方法及系统。
背景技术
内存管理在软件开发和应用中占据十分重要的位置,对于软件的性能有着十分重要的影响。由于操作系统要考虑到底层硬件管理、内存有限、内存碎片、多软件同时运行、多线程环境等情况,因此导致了内存的分配和回收操作非常复杂,内存操作所消耗的时间的限制成为软件性能的瓶颈。对此一些传统的方法是通过申请一块大内存,再划分成各个子块分配使用,但传统方法忽略了子块的组织结构,在分配和回收时都需要进行大量的内存块结构查询,才能完成分配和回收操作,这就导致了内存管理效率的低下。在多线程环境中这种影响尤其明显,直接导致了应用软件的性能低下。在高性能软件应用领域,内存管理是关键性的基础功能,其性能直接影响了整个应用软件系统的运行。
发明内容
为解决上述问题,本发明的目的在于提供一种通过内存块实现内存管理的方法及系统,简化内存的分配与回收,减少内存分配时碎片的产生,提高内存管理效率,尤其是对于高性能软件的应用,提升整个软件系统的运行效率。
本发明解决其问题所采用的技术方案是:
一种通过内存块实现内存管理的方法,包括:
(1)以字节对齐方式申请64KB大小的内存块,
(2)将此内存块划分为以链表形式连接的固定大小的子块,同时划分出一个单独的数据存放区,且数据存放区在内存地的末端,将链表的头指针和空间的子块数量写入数据存放区;
(3)通过链表操作对子块空间进行分配与回收:
分配时,将链表头指针指向的子块分配出去,且空闲子块数量减1,同时链表头指针指向下一个空闲子块,如果空闲子块数量为零,则重新执行步骤(1);
回收时,将链表的头指针存入要回收的子块内,将此要回收的子块的首地址作为链表的头指针写入数据存放区,并将空闲子块数量加1。
一种通过内存块实现内存管理的系统,包括:
申请模块,用于以对齐方式申请64KB大小的内存块;
拆分模块,用于将此内存块划分为内存分配区和数据存放区两个内存区域,同时将内存分配区划分为链表形式连接的固定大小的子块,并将空闲子块的数量和链表头指针写入数据存放区;
操作模块,用于通过链表操作对子块空间进行分配与回收。
所述操作模块包括分配单元和回收单元,其中:
分配单元用于通过链表操作对子块空间进行分配时,将链表头指针指向的子块分配出去,且空闲子块数量减1,同时链表头指针指向下一个空闲子块;
回收单元用于通过链表操作对子块空间进行回收时,将要回收的子块地址的低16位地址清零,得到该子块在内存块中的首地址,将链表的头指针存入要回收的子块内,将此要回收的子块的首地址作为链表的头指针写入数据存放区,并将空闲子块数量加1。
本发明的有益效果是:
本发明采用一种通过内存块实现内存管理的方法及系统,申请64KB大小的内存块,将此内存块分为内存分配区和数据存放区两个区域,将内存分配区划分为以链表形式连接的固定大小的子块,将链表的头指针和空闲子块的数量写入数据存放区,之后通过链表操作即可实现内存的分配与回收。本发明通过申请64KB的内存块,以链表的形式进行内存单元的分配与回收,减少甚至消除了内存分配时可能产生的碎片,链表方式,结构比较简单,无论是分配还是回收内存,省去了传统方法中遍历、查询上的复杂操作,明显提升了内存的处理速度,有效提升了内存管理的效率。
附图说明
下面结合附图和实例对本发明作进一步说明。
图1是所述内存块划分后的示意图;
图2是本发明所述方法流程图;
图3是本发明所述系统的结构组成框图;
图4是分配子块后的示意图;
图5是删除子块后的示意图。
具体实施方式
实施例1:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司;成都西山居互动娱乐科技有限公司,未经珠海金山网络游戏科技有限公司;成都西山居互动娱乐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310590518.0/2.html,转载请声明来源钻瓜专利网。





