内存管理方法和装置制造方法及图纸

技术编号:28050469 阅读:24 留言:0更新日期:2021-04-14 13:08
本发明专利技术提供一种内存管理方法和装置,其中,内存管理方法包括:获取内存分配请求,内存分配请求用于申请内存;根据内存分配请求在内存区域中分配待使用的内存块,并生成待使用的内存块的内存管理信息;其中,内存区域地址连续,待使用的内存块地址对齐且大小对齐;将待使用的内存块的内存管理信息存储至预设内存块中;预设内存块与内存区域不重合,且用于存储内存区域中内存块的内存管理信息。通过对内存块的内存管理信息集中存放,确保了被管理的内存区域的完整性和连续性,提升了内存区域的利用率。利用率。利用率。

【技术实现步骤摘要】
内存管理方法和装置


[0001]本专利技术涉及计算机
,尤其涉及一种内存管理方法和装置。

技术介绍

[0002]实时操作系统(Real Time Operating System,RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时的响应和高可靠性是实时操作系统的主要特点。
[0003]在实时操作系统的内存管理中,内存块的分配通常需要满足地址对齐和大小对齐,并且,需要记录内存块的管理开销。
[0004]目前,内存块和内存块的管理开销存放在同一块连续的内存区域中,导致在分配地址对齐和大小对齐的内存块时产生了大量的内存碎片,降低了内存的利用率。

技术实现思路

[0005]本专利技术提供一种内存管理方法和装置,避免了产生内存碎片,提升了内存区域的利用率。
[0006]第一方面,本专利技术提供一种内存管理方法,包括
[000本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存管理方法,其特征在于,包括:获取内存分配请求,所述内存分配请求用于申请内存;根据所述内存分配请求在内存区域中分配待使用的内存块,并生成所述待使用的内存块的内存管理信息;其中,所述内存区域地址连续,所述待使用的内存块地址对齐且大小对齐;将所述待使用的内存块的内存管理信息存储至预设内存块中;所述预设内存块与所述内存区域不重合,且用于存储所述内存区域中内存块的内存管理信息。2.根据权利要求1所述的方法,其特征在于,所述根据所述内存分配请求在内存区域中分配待使用的内存块,包括:根据所述内存区域的单位内存块的大小对所述内存区域进行内存分割,获得N个第一内存块;所述N个第一内存块地址对齐且大小对齐,N为正整数;其中,所述第一内存块的大小/所述单位内存块的大小=2的幂次方,小/所述单位内存块的大小=2的幂次方,若所述N个第一内存块中存在至少一个空闲的第一内存块,则将其中一个空闲的第一内存块分配为所述待使用的内存块。3.根据权利要求2所述的方法,其特征在于,所述内存区域地址对齐且大小对齐,所述根据所述内存区域的单位内存块的大小对所述内存区域进行内存分割,获得N个第一内存块,包括:对所述内存区域进行平均分割,获得两个大小相等的第一级内存块;判断所述第一级内存块的大小除以所述内存分配请求申请的内存的大小的商是否大于1;若大于1,则对至少一个所述第一级内存块执行上述平均分割以及判断的步骤,直至分割获得的内存块的大小除以所述内存分配请求申请的内存的大小的商等于1,将所述分割获得的内存块确定为所述N个第一内存块。4.根据权利要求1所述的方法,其特征在于,还包括:获取内存释放请求,所述内存释放请求用于请求释放所述内存区域中已占用的内存块;根据所述内存释放请求释放所述已占用的内存块。5.根据权利要求4所述的方法,其特征在于,还包括:判断所述已占用的内存块的伙伴内存块是否空闲;所述已占用的内存块的伙伴内存块与所述已占用的内存块为通过对同一个内存块进行内存分割后得到的,或者,所述已占用的内存块的伙伴内存块与所述已占用的内存块为地址相邻的内存块;若空闲,则对所述已占用的内存块和所述已占用的内存块的伙伴内存块进行内存合并,获取合并后的内存块,并对所述合并后的内存块重复执行上述内存合并的步骤,直至不能进行内存合并为止,获取合并内存块,并生成所述合并内存块的内存管理信息;将所述合并内存块的内存管理信息存储至所述预设内存块中。6.根据权利要求1至5任一项所述的方法,其特征在于,所述内存块的内存管理信息包括:所述内存块的索引值、空闲指示信息和所述内存块的大小;其中,空闲指示信息用于指
示所述内存块是否空闲。7.根据权利要求6所述的方法,其特征在于,所述内存块的内存管理信息还包括所述内存块的伙伴内存块的索引值;所述内存块的伙伴内存块与所述内存块为通过对同一个内存块进行内存分割后得到的,或者,所述内存块的伙伴内存块与所述内存块为地址相邻的内存块。8.根据权利要求6所述的方法,其特征在于,还包括:获取待查询的内存块的索引值;根据所述待查询的内存块的索引值以及索引值与内存地址之间的对应关系,获得所述待查询的内存块的内存地址。9.根据权利要求6所述的方法,其特征在于,还包括:获取待查询的内存地址;根据所述待查询的内存地址以及索引值与内存地址之间的对应关系,获得所述待查询的内存地址对应的内存块的索引值。10.一种内存管理装置,其特征在于,包括:获取模块,用于获取内存分配请求,所述内存分配请求用于申请内存;管理模块,用于根据所述内存分配请求在内存区域中分配待使用的内存块,并生成所述待使用的内存块的...

【专利技术属性】
技术研发人员:李轶王波辛旭
申请(专利权)人:龙芯中科技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1