[发明专利]内存管理方法、装置及内存分配器有效
申请号: | 202110896371.2 | 申请日: | 2021-08-05 |
公开(公告)号: | CN113590332B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 朱鸿斌;夏之春;郭宗智;金健;张超林;胡旭东;陈炎福 | 申请(专利权)人: | 上海金仕达软件科技股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F16/22 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 鲁丽美 |
地址: | 200120 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 管理 方法 装置 分配器 | ||
1.一种内存管理方法,其特征在于,包括:
获取应用层的内存申请请求,所述内存申请请求中携带有应用层所需申请的内存空间的大小信息;
从预定的内存块列表集中确定出所维护内存块的块大小与所述大小信息相匹配的目标内存块列表;其中,每一内存块列表通过对应的位图数据结构维护一串相同大小的内存块,位图数据结构为最高层包括一个位块的单层或多层层级结构,位图数据结构低层的每个位块对应所邻接的高层的一位,最低层的每一位对应一个内存块,且最低层每一位的不同取值表示该位所对应内存块的不同状态,非最低层中每一位的不同取值表示该位在下一层所对应的位块是否表征存在可用内存块;一个位块包括不超出预定长度阈值的位;
对所述目标内存块列表对应的目标位图数据结构执行位查找操作,以确定出所述目标内存块列表维护的一个可用内存块,得到目标内存块;
将所述目标内存块分配给应用层,并对所述目标内存块在所述目标位图数据结构中对应的相关位执行置位处理,以使所述相关位的取值与所述目标内存块被分配后所处的占用状态相匹配。
2.根据权利要求1所述的方法,其特征在于,不同内存块列表分别维护不同类别的内存块,不同类别内存块的块大小不同,且,不同类别内存块的块大小间的步长满足预定的步长规则,每一类别内存块用于满足一个对应区间内存大小的内存申请与释放需求;
所述从预定的内存块列表集中确定出所维护内存块的块大小与所述大小信息相匹配的目标内存块列表,包括:
从所述内存块列表集中确定出所维护内存块的块大小与所述大小信息最接近且不小于所述大小信息的内存块列表,得到所述目标内存块列表。
3.根据权利要求2所述的方法,其特征在于,所述步长规则为:不同类别内存块的块大小升序排序后,每两个相邻块大小间的步长为2的幂次,且升序排序后各个相邻块大小间的步长逐步加大。
4.根据权利要求1所述的方法,其特征在于,内存块的状态为可用状态或占用状态;一个内存块列表对应的位图数据结构的层数为其中,N表示内存块列表维护的内存块的个数,L表示所述长度阈值;
位图数据结构最低层中每一位的取值为:用于表示该位所对应内存块处于可用状态的第一位值,或用于表示该位所对应内存块处于占用状态的第二位值;位图数据结构非最低层中每一位的取值为:用于表示该位在下一层所对应的位块表征存在可用内存块的第一位值,或用于表示该位在下一层所对应的位块表征不存在可用内存块的第二位值;
所述对所述目标内存块列表对应的目标位图数据结构执行位查找操作,以确定出所述目标内存块列表维护的一个可用内存块,得到目标内存块,包括:
若所述目标位图数据结构为一层,在所述目标位图数据结构的单一层中执行位查找操作,直至查找出取值为第一位值的目标位时,将该目标位对应的内存块确定为所述目标内存块;
若所述目标位图数据结构为多层,从所述目标位图数据结构的最高层开始执行位查找操作,在查找出取值为第一位值的位时,跳转并定位至该位在下一层对应的位块继续执行位查找操作,直至跳转并定位至所述目标位图数据结构的最低层相应位块,并从所述最低层相应位块查找出取值为第一位值的目标位时,将该目标位对应的内存块确定为所述目标内存块。
5.根据权利要求4所述的方法,其特征在于,所述长度阈值为128;所述对所述目标内存块列表对应的目标位图数据结构执行位查找操作,包括:
利用单指令多数据流SIMD指令,对所述目标内存块列表对应的目标位图数据结构执行位查找操作;
其中,预先通过对SIMD指令的封装,形成面向预设开发语言接口的多个位图数据结构操作类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海金仕达软件科技股份有限公司,未经上海金仕达软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110896371.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文档表格结构检测方法及装置
- 下一篇:一种小龙虾米炒莲子米酱的做法