[发明专利]内存管理方法、装置及内存分配器有效
申请号: | 202110896371.2 | 申请日: | 2021-08-05 |
公开(公告)号: | CN113590332B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 朱鸿斌;夏之春;郭宗智;金健;张超林;胡旭东;陈炎福 | 申请(专利权)人: | 上海金仕达软件科技股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F16/22 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 鲁丽美 |
地址: | 200120 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 管理 方法 装置 分配器 | ||
本申请公开一种内存管理方法、装置及内存分配器,在内存管理中,内存块列表集中的每一内存块列表通过对应的位图数据结构维护一串相同大小的内存块,即,每个内存块列表用一个位图数据结构管理,基于本申请为内存块列表设计并构建的包括单层或多层层级结构的位图数据结构,在内存分配中进行位查找时,每次查找只需从高层到低层,逐层查找表征存在可用内存块的有效位,即可完成查找操作、确定出可用内存块,从而,可支持应用层申请和释放内存时,高效率获取一块可用内存或者释放一块内存,进一步提升了内存分配器的内存分配性能。
技术领域
本申请属于计算机技术领域,尤其涉及一种内存管理方法、装置及内存分配器。
背景技术
内存管理从下往上可以分为三个层次:操作系统内核、开发语言运行时、应用层。操作系统内核负责管理物理内存,向上一层的运行时提供内存申请和释放的系统调用;开发语言运行时封装操作系统的系统调用,向再上一层的应用层提供内存申请和释放的库函数malloc和free等。
其中,操作系统内核管理内存的算法主要是以伙伴算法(Buddy算法)为主的技术方案,其把内存按页(Page)为单位,组织成不同的可用内存链表,每个链表包含相同大小的可用内存块,每个内存块包含1个或多个页。内核对内存的管理需要稳定可靠,同时能适用于各式各样的上层需要,因此内核的内存管理算法一般是以最简单的方案满足最抽象的内存存取需要。开发语言运行时封装内核的内存申请/释放的系统调用,给应用层提供内存操作库函数,运行时的内存管理算法加入了更为复杂、细致的技术方案来提高内存申请/释放的性能和效率,相比于内核,运行时可以为应用层提供更高效的内存申请和释放方案。
内存分配器是开发语言运行时的内存管理算法的具体实现,内存分配器最基本的任务是在用户层构建一个内存缓存池,避免频繁的通过系统调用申请或者释放内存。大多数的应用层直接使用开发语言运行时的库函数完成内存的申请和释放,即,对于绝大多数普通的应用系统而言,直接使用开发语言运行时的内存分配器,已经足够满足其业务需要。然而,申请人发现,在一些重度内存访问相关的系统或者对性能要求高的应用系统研发过程中,运行时的内存管理方案还不够最优,其内存分配器在内存利用率、分配性能/申请释放性能等方面已经不能满足需要。
发明内容
有鉴于此,本申请提供一种内存管理方法、装置及内存分配器,用于针对重度内存访问相关的系统或高性能要求的业务系统,通过引入更高效的内存管理算法和数据结构,来至少提升内存分配器的内存分配性能。
具体技术方案如下:
一种内存管理方法,包括:
获取应用层的内存申请请求,所述内存申请请求中携带有应用层所需申请的内存空间的大小信息;
从预定的内存块列表集中确定出所维护内存块的块大小与所述大小信息相匹配的目标内存块列表;其中,每一内存块列表通过对应的位图数据结构维护一串相同大小的内存块,位图数据结构为最高层包括一个位块的单层或多层层级结构,位图数据结构低层的每个位块对应所邻接的高层的一位,最低层的每一位对应一个内存块,且最低层每一位的不同取值表示该位所对应内存块的不同状态,非最低层中每一位的不同取值表示该位在下一层所对应的位块是否表征存在可用内存块;一个位块包括不超出预定长度阈值的位;
对所述目标内存块列表对应的目标位图数据结构执行位查找操作,以确定出所述目标内存块列表维护的一个可用内存块,得到目标内存块;
将所述目标内存块分配给应用层,并对所述目标内存块在所述目标位图数据结构中对应的相关位执行置位处理,以使所述相关位的取值与所述目标内存块被分配后所处的占用状态相匹配。
可选的,不同内存块列表分别维护不同类别的内存块,不同类别内存块的块大小不同,且,不同类别内存块的块大小间的步长满足预定的步长规则,每一类别内存块用于满足一个对应区间内存大小的内存申请与释放需求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海金仕达软件科技股份有限公司,未经上海金仕达软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110896371.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文档表格结构检测方法及装置
- 下一篇:一种小龙虾米炒莲子米酱的做法