[发明专利]内存管理方法和装置在审
| 申请号: | 201910966469.3 | 申请日: | 2019-10-12 |
| 公开(公告)号: | CN112650577A | 公开(公告)日: | 2021-04-13 |
| 发明(设计)人: | 李轶;王波;辛旭 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 王明磊;刘芳 |
| 地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内存 管理 方法 装置 | ||
本发明提供一种内存管理方法和装置,其中,内存管理方法包括:获取内存分配请求,内存分配请求用于申请内存;根据内存分配请求在内存区域中分配待使用的内存块,并生成待使用的内存块的内存管理信息;其中,内存区域地址连续,待使用的内存块地址对齐且大小对齐;将待使用的内存块的内存管理信息存储至预设内存块中;预设内存块与内存区域不重合,且用于存储内存区域中内存块的内存管理信息。通过对内存块的内存管理信息集中存放,确保了被管理的内存区域的完整性和连续性,提升了内存区域的利用率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存管理方法和装置。
背景技术
实时操作系统(Real Time Operating System,RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时的响应和高可靠性是实时操作系统的主要特点。
在实时操作系统的内存管理中,内存块的分配通常需要满足地址对齐和大小对齐,并且,需要记录内存块的管理开销。
目前,内存块和内存块的管理开销存放在同一块连续的内存区域中,导致在分配地址对齐和大小对齐的内存块时产生了大量的内存碎片,降低了内存的利用率。
发明内容
本发明提供一种内存管理方法和装置,避免了产生内存碎片,提升了内存区域的利用率。
第一方面,本发明提供一种内存管理方法,包括:
获取内存分配请求,所述内存分配请求用于申请内存;
根据所述内存分配请求在内存区域中分配待使用的内存块,并生成所述待使用的内存块的内存管理信息;其中,所述内存区域地址连续,所述待使用的内存块地址对齐且大小对齐;
将所述待使用的内存块的内存管理信息存储至预设内存块中;所述预设内存块与所述内存区域不重合,且用于存储所述内存区域中内存块的内存管理信息。
可选的,所述根据所述内存分配请求在内存区域中分配待使用的内存块,包括:
根据所述内存区域的单位内存块的大小对所述内存区域进行内存分割,获得N个第一内存块;所述N个第一内存块地址对齐且大小对齐,N为正整数;其中,所述第一内存块的大小/所述单位内存块的大小=2的幂次方,
若所述N个第一内存块中存在至少一个空闲的第一内存块,则将其中一个空闲的第一内存块分配为所述待使用的内存块。
可选的,所述内存区域地址对齐且大小对齐,所述根据所述内存区域的单位内存块的大小对所述内存区域进行内存分割,获得N个第一内存块,包括:
对所述内存区域进行平均分割,获得两个大小相等的第一级内存块;
判断所述第一级内存块的大小除以所述内存分配请求申请的内存的大小的商是否大于1;
若大于1,则对至少一个所述第一级内存块执行上述平均分割以及判断的步骤,直至分割获得的内存块的大小除以所述内存分配请求申请的内存的大小的商等于1,将所述分割获得的内存块确定为所述N个第一内存块。
可选的,还包括:
获取内存释放请求,所述内存释放请求用于请求释放所述内存区域中已占用的内存块;
根据所述内存释放请求释放所述已占用的内存块。
可选的,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910966469.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种污泥型煤组合物及其制备方法
- 下一篇:一种酸化油制低硫生物柴油的方法





