[发明专利]一种内存分配的方法、系统有效
申请号: | 201710967200.8 | 申请日: | 2017-10-17 |
公开(公告)号: | CN107844372B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 李绍良;黄衍博;黄春豪 | 申请(专利权)人: | 广东睿江云计算股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 佛山市禾才知识产权代理有限公司 44379 | 代理人: | 梁永健 |
地址: | 528000 广东省佛山市禅城区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 分配 方法 系统 | ||
一种内存分配的方法、系统,包括适配器、二叉树和二维数组,包括适配器分配内存的过程:步骤A:适配器获取程序所申请的内存值,然后适配器从二叉树的根节点向下开始遍历,在节点中寻找可分配的所述内存块;步骤B:在节点中找到与内存值相同大小的可分配的内存块,以2的幂次方的形式分配给内存值;步骤C:在节点中找到大于内存值的可分配的内存块,以2的幂次方的形式分配给内存值;步骤D:遍历二维数组,统计未分配节点上的内存块,合并内存块,以2的幂次方的形式分配给内存值。本发明的一种内存分配的方法、系统,实现在内存分配中,提高内存复用率、减少内存碎片、避免浪费内存目的。
技术领域
本发明涉及计算机内存分配领域,尤其涉及一种内存分配的方法、系统。
背景技术
内存的分配在操作适配器中占有重要的地位,是操作适配器的核心。任何程序的执行,都必须在操作适配器中获得内存空间。内存是计算机中的重要资源,对于他们的资源分配和访问方式都直接影响到整个适配器的性能和效率。如何有效的管理、合理的分配内存资源,对于提升适配器性能,尤其是内存的使用效率和进程的运行速度显得尤为重要。
现有技术中常见的几种内存分配有以下4种,分别是首次适应算法、可变大小分配、连续内存分配和离散分配内存;首次适应算法即当申请内存时,适配器总是返回一个固定大小的内存空间,固定尺寸最明显的缺点就是不灵活。如果定长空间过小,则容易引起溢出,如果定长过大,又会造成内存的浪费;可变大小分配即适配器处理不同尺寸的分配请求,并分配合适大小的内存空间;连续内存分配主要优点是简介,额外开销也比较低,但是也会分配不同程度的内部碎片或者外部碎片;离散内存分配最大的有点就是有效避免了内存碎片的产生,提高内存资源利用率。但在程序运行过程中,若程序被分配在过多的不连续区域上,就要多次的地址校验,这就会降低了运行效率。
以上的几种内存分配算法都会存在大量的内存碎片,产生内存的浪费,内存分配没有达到理想效果,不连续的内存块无法进行合并。
发明内容
本发明的目的在于提出一种内存分配的方法、系统,以在内存分配中,实现提高内存复用率、减少内存碎片、避免浪费内存目的。
为达此目的,本发明采用以下技术方案:
一种内存分配的方法,包括适配器、二叉树和二维数组,所述二叉树的节点标记内存块的使用状态,所述二叉树分为x层,所述二叉树的根节点位于所述二叉树的第一层;所述二叉树的第y层上的每一个所述节点都存储有2^(x-y)大小的所述内存块,y大于零且小于等于x;所述二维数组存储有未分配节点的信息;
包括所述适配器分配内存的过程:
步骤A:所述适配器获取程序所申请的内存值,然后所述适配器从所述二叉树的根节点向下开始遍历,在所述节点中寻找可分配的所述内存块;
步骤B:在所述节点中寻找与所述内存值相同大小的可分配的所述内存块,若找到,则将找到的所述内存块分配给所述内存值,将该所述节点标记为已分配状态,并返回内存地址;
若找不到,则寻找比所述内存值大的可分配的所述内存块,将寻找到所述内存块分配给所述内存值,并将该所述节点标记为已分配状态,然后返回内存地址;
步骤C:最后将比所述内存值大的所述内存块分配后还剩下的所述内存块存储到所述未分配节点中,并将所述未分配节点在所述二叉树中的信息存储到所述二维数组中;
步骤D:若找不到与所述内存值相同或者比所述内存值大的可分配的所述内存块,则遍历所述二维数组,将所述未分配节点找出来,统计所有所述未分配节点上的所述内存块,若统计的所述内存块比所述内存值大,则将所述未分配节点上的所述内存块进行合并,然后再分配给所述内存值,并将合并的所述未分配节点标记为已分配状态,返回内存地址;
若统计的所述内存块比所述内存值小,则返回内存不足,请求分配失败的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东睿江云计算股份有限公司,未经广东睿江云计算股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710967200.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆用座椅滑动装置
- 下一篇:具有额外锁定构件的座椅调整器