[发明专利]内存碎片管理系统及方法有效
申请号: | 201710119705.9 | 申请日: | 2017-03-02 |
公开(公告)号: | CN108536609B | 公开(公告)日: | 2022-02-22 |
发明(设计)人: | 何三波 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 成都虹桥专利事务所(普通合伙) 51124 | 代理人: | 吴中伟 |
地址: | 610041 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 碎片 管理 系统 方法 | ||
本发明涉及计算机内存管理技术,其公开了一种内存碎片管理系统及方法,将离散内存碎片整理成连续内存碎片,进行形成大块空闲内存,便于提高内存资源的利用率。该方法包括步骤:a.在进行内存分配时,在所分配内存中指定用户内存回收处理回调函数;b.在内存管理任务启动时,检测所分配的内存块中是否存在孤立块,并判断所述孤立块是否需要被释放,若需要被释放,则调用该孤立块对应的用户内存回收处理回调函数;c.在用户内存回收处理回调函数被调用后,重新分配一块内存保存孤立块中的数据,并将对孤立块内存的引用修改为对所述新分配的内存的引用,然后释放孤立块。本发明适用于内存管理。
技术领域
本发明涉及计算机内存管理技术,具体涉及一种内存碎片管理系统及方法。
背景技术
内存是计算机系统中的重要组成部分,实现数据的存储功能:存放原始数据、中间数据和运算结果等,也是高速执行单元与外部低速存储部件之间的缓存单元。
内存管理则是计算机软件系统中的一项很重要的基础功能,比较好的内存管理可以使计算机系统中内存得到最高效的利用,内存碎片尽量的少。
计算机工作一段时间后一般会出现内存碎片(多块小块空闲内存),如果出现大量的内存碎片,可能使得某些软件功能模块无法运行。如图1,在空闲内存块Fi和Fj之间被孤立块Am隔离,形成两块离散的碎片,则这样的离散内存碎片无法被整理成更大的空闲内存块,造成计算机内存资源的浪费。
发明内容
本发明所要解决的技术问题是:提出一种内存碎片管理系统及方法,将离散内存碎片整理成连续内存碎片,进而形成大块空闲内存,便于提高内存资源的利用率。
一方面,本发明实施例提供一种内存碎片管理系统,包括:
管理模块,用于生成内存管理任务;以及,为用户模块提供内存分配接口函数,在所述内存分配接口函数中增加一个参数-用户内存回收处理回调函数;
检测模块,用于在内存管理任务启动时,检测用户模块所分配的内存块中是否存在孤立块,并判断所述孤立块是否需要被释放,若需要被释放,则通知管理模块调用该孤立块对应的用户内存回收处理回调函数;
用户模块,用于在进行内存分配时,在所分配内存中指定用户内存回收处理回调函数;以及,在用户内存回收处理回调函数被调用后,重新分配一块内存保存孤立块中的数据,并将对孤立块内存的引用修改为对所述新分配的内存的引用,然后释放孤立块。
作为进一步优化,所述用户模块还用于在进行内存分配时,判断分配的内存小于一定阈值且内存中的数据在系统运行过程中可以搬移时,才在所分配内存中指定用户内存回收处理函数。
作为进一步优化,所述在所分配内存中指定用户内存回收处理函数的方法为:
在所分配内存的管理头部新开辟一个字段用于保存用户内存回收处理函数。
作为进一步优化,所述检测模块检测用户模块所分配的内存块中是否存在孤立块,并判断所述孤立块是否需要被释放的方法为:
若检测到某个已分配的内存块隔离了前后两个空闲内存块,则判定该已分配的内存块为孤立块,若孤立块所隔离的前后两个空闲内存块的大小之和为孤立块大小的n倍以上,则判定该孤立块需要被释放。
作为进一步优化,所述用户模块还用于,在重新分配内存时,紧邻着已分配的大块内存后分配一块新的内存保存孤立块中的数据。
再一方面,本发明实施例提供了一种内存碎片管理方法,其包括以下步骤:
a.在进行内存分配时,在所分配内存中指定用户内存回收处理回调函数;
b.在内存管理任务启动时,检测所分配的内存块中是否存在孤立块,并判断所述孤立块是否需要被释放,若需要被释放,则调用该孤立块对应的用户内存回收处理回调函数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710119705.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:页面版本测试方法及装置
- 下一篇:管理装置、信息处理装置以及管理方法