[发明专利]一种内存分配的方法、系统有效
申请号: | 201710967200.8 | 申请日: | 2017-10-17 |
公开(公告)号: | CN107844372B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 李绍良;黄衍博;黄春豪 | 申请(专利权)人: | 广东睿江云计算股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 佛山市禾才知识产权代理有限公司 44379 | 代理人: | 梁永健 |
地址: | 528000 广东省佛山市禅城区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种内存分配的方法、系统,包括适配器、二叉树和二维数组,包括适配器分配内存的过程:步骤A:适配器获取程序所申请的内存值,然后适配器从二叉树的根节点向下开始遍历,在节点中寻找可分配的所述内存块;步骤B:在节点中找到与内存值相同大小的可分配的内存块,以2的幂次方的形式分配给内存值;步骤C:在节点中找到大于内存值的可分配的内存块,以2的幂次方的形式分配给内存值;步骤D:遍历二维数组,统计未分配节点上的内存块,合并内存块,以2的幂次方的形式分配给内存值。本发明的一种内存分配的方法、系统,实现在内存分配中,提高内存复用率、减少内存碎片、避免浪费内存目的。 | ||
搜索关键词: | 一种 内存 分配 方法 系统 | ||
【主权项】:
一种内存分配的方法,包括适配器、二叉树和二维数组,所述二叉树的节点标记内存块的使用状态,所述二叉树分为x层,所述二叉树的根节点位于所述二叉树的第一层;所述二叉树的第y层上的每一个所述节点都存储有2^(x‑y)大小的所述内存块,y大于零且小于等于x;所述二维数组存储有未分配节点的信息;其特征在于:包括所述适配器分配内存的过程:步骤A:所述适配器获取程序所申请的内存值,然后所述适配器从所述二叉树的根节点向下开始遍历,在所述节点中寻找可分配的所述内存块;步骤B:在所述节点中寻找与所述内存值相同大小的可分配的所述内存块,若找到,则将找到的所述内存块分配给所述内存值,将该所述节点标记为已分配状态,并返回内存地址;若找不到,则寻找比所述内存值大的可分配的所述内存块,将寻找到所述内存块分配给所述内存值,并将该所述节点标记为已分配状态,然后返回内存地址;步骤C:最后将比所述内存值大的所述内存块分配后还剩下的所述内存块存储到所述未分配节点中,并将所述未分配节点在所述二叉树中的信息存储到所述二维数组中;步骤D:若找不到与所述内存值相同或者比所述内存值大的可分配的所述内存块,则遍历所述二维数组,将所述未分配节点找出来,统计所有所述未分配节点上的所述内存块,若统计的所述内存块比所述内存值大,则将所述未分配节点上的所述内存块进行合并,然后再分配给所述内存值,并将合并的所述未分配节点标记为已分配状态,返回内存地址;若统计的所述内存块比所述内存值小,则返回内存不足,请求分配失败的信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东睿江云计算股份有限公司,未经广东睿江云计算股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710967200.8/,转载请声明来源钻瓜专利网。
- 上一篇:车辆用座椅滑动装置
- 下一篇:具有额外锁定构件的座椅调整器