[发明专利]一种内存分配方法、装置、设备及存储介质在审
申请号: | 202010231780.6 | 申请日: | 2020-03-27 |
公开(公告)号: | CN113448720A | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 何欢 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/445 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 常忠良 |
地址: | 518064 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 分配 方法 装置 设备 存储 介质 | ||
1.一种内存分配方法,其特征在于,包括:
在接收到应用程序启动请求时,构建N个内存池、第一映射关系和第二映射关系;所述内存池包括至少一个内存块;所述第一映射关系用于记录申请尺寸区间与内存池标识之间的映射关系;所述第二映射关系用于记录内存池标识与内存池中下一个待分配内存块的内存地址之间的映射关系;N为正整数;
在接收到所述应用程序发送的内存申请请求之后,根据所述内存申请请求获取所述应用程序的内存申请尺寸,并根据所述应用程序的内存申请尺寸和所述第一映射关系,确定第一内存池的第一标识;
根据所述第一标识和所述第二映射关系,获取所述第一标识对应的第一内存地址,并在确定所述第一内存地址为有效地址时,将所述第一内存地址发送给所述应用程序。
2.根据权利要求1所述的方法,其特征在于,当所述内存池中的内存块按照单链表进行连接,位于同一个所述内存池中的各内存块的尺寸相同时,所述构建N个内存池,具体包括:
使用系统内存申请函数,获取原始内存区域的内存地址;
将所述原始内存区域的内存地址进行内存池划分,得到N个内存池的内存地址;
将第i个内存池的内存地址按照第i个尺寸进行内存块划分,得到第i个内存池的Mi个内存块,将第i个内存池的第j+1个内存块的内存地址存储至第i个内存池的第j个内存块,并将预设无效地址存储至第i个内存池的第Mi个内存块;j为正整数,j≤Mi-1;Mi为正整数;i为正整数,i≤N。
3.根据权利要求1所述的方法,其特征在于,当位于同一个所述内存池中的各内存块的尺寸相同时,所述构建第一映射关系,包括:
计算所述N个内存池中任意两个内存池的内存块尺寸之间的差值,得到第一差值集合;所述内存块尺寸用于表征所述内存池中内存块的尺寸;
将所述第一差值集合中的最小值确定为第一尺寸值,将所述N个内存池的内存块尺寸中的最小值确定为第二尺寸值,并将所述第一尺寸值和所述第二尺寸值中的最小值确定为第三尺寸值;
将所述N个内存池的内存块尺寸中的最大值确定为第四尺寸值,并将所述第四尺寸值和所述第三尺寸值的比值,确定为第一数目;所述第一数目用于表征所述第一映射关系中的关系个数;
分别将各所述内存池的内存块尺寸与r倍的第三尺寸值作差,得到第二差值集合,并将第二差值集合中的最小非负差值对应的内存池的内存池标识,作为第r个申请尺寸区间对应的内存池标识;所述第r个申请尺寸区间为区间(r-1倍的第三尺寸值,r倍的第三尺寸值];r为正整数,r≤第一数目;
根据各个申请尺寸区间及其对应的内存池标识,建立第一映射关系。
4.根据权利要求1所述的方法,其特征在于,所述根据所述应用程序的内存申请尺寸和所述第一映射关系,确定第一内存池的第一标识,包括:
根据所述应用程序的内存申请尺寸和第一映射关系,确定所述应用程序的内存申请尺寸所属的目标申请尺寸区间;
根据所述目标申请尺寸区间和所述第一映射关系,确定第一内存池的第一标识。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述第一内存地址为有效地址时,根据所述第一内存地址确定第一内存块;
读取所述第一内存块中保存的第二内存地址;
利用所述第一标识和所述第二内存地址,更新所述第二映射关系,使得所述第二映射关系包括所述第一标识和所述第二内存地址之间的对应关系。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到应用程序启动请求时,构建第三映射关系;
根据所述第一标识和所述第三映射关系,确定所述第一内存池的使能状态;
所述根据所述第一标识和所述第二映射关系,获取所述第一标识对应的第一内存地址,包括:
在确定所述第一内存池的使能状态为允许使用状态时,根据所述第一标识和所述第二映射关系,获取所述第一标识对应的第一内存地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010231780.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:内视镜系统
- 下一篇:显示面板以及拼接显示装置