一种针对嵌入式系统的内存分配方法技术方案

技术编号:24251285 阅读:77 留言:0更新日期:2020-05-22 23:26
本发明专利技术提供了一种针对嵌入式系统的内存分配方法,在TLSF算法的基础上进行了改进,加入了内存分块和参数自适应调节,能够根据申请大小来自适应调节每个内存块的内存分配结构,碎片率低。本发明专利技术在TLSF算法的基础上进行了改进,加入了内存分块和参数自适应调节,提高了内存利用率。其中,将内存区间进行分块,得到两个内存子区间,根据申请大小来自适应调节每个内存子区间的内存分配结构,从而在保证实时性的同时有效地降低碎片率。

A memory allocation method for embedded system

【技术实现步骤摘要】
一种针对嵌入式系统的内存分配方法
本专利技术属于内存分配
,具体涉及一种针对嵌入式系统的内存分配方法。
技术介绍
随着物联网技术的发展,嵌入式实时操作系统得到越来越广泛的应用。嵌入式实时操作系统对动态内存分配的实时性、碎片率、可靠性有更高的要求,因此,动态内存分配已成为嵌入式实时操作系统的一个重要研究内容。嵌入式实时系统中,内存分配具有重要的意义,它是操作系统的一个重要模块,包括内存的分配和释放。内存分配的好坏直接关系着嵌入式系统的可靠性和稳定性。从时间分配上,内存分配的分配策略可分为静态内存分配和动态内存分配。动态内存分配中存储空间是按需分配,并且被释放的内存块可以再次参与分配,因此动态内存分配内存资源利用率比静态内存分配高。静态内存分配是在栈上进行的,在栈上进行大量静态分配是很危险的,若栈溢出时,多出的数据会覆盖掉相邻堆栈的数据,甚至会破坏内核造成系统崩溃。动态分配可避免这一状况,大块内存的分配必须采取动态内存分配。因此,为了实时嵌入式系统开发中更好的使用动态内存分配策略,越来越多的研究人员开始关注内存分配的实时性及内存碎片问本文档来自技高网...

【技术保护点】
1.一种针对嵌入式系统的内存分配方法,其特征在于,包括如下步骤:/n首先进行内存区间初始化:将整个内存区间平均分为两块子区间,对每块内存子区间的MAX_FLI、MAX_SLI以及MBS参数值进行初始化;/n然后开始在第一块内存子区间内进行内存分配,并记录每次内存分配大小;/n当第一块内存子区间分配完毕后,根据记录的第一块内存子区间每次内存分配大小,计算出即将到来的内存分配大小预测值,根据预测值调节第二块内存子区间的MAX_SLI以及MBS参数值,并开始在第二块内存子区间中进行分配;/n当第二块内存子区间分配完毕后,若第一块内存子区间全部释放完毕,则根据记录的第二块内存子区间每次内存分配大小,计...

【技术特征摘要】
1.一种针对嵌入式系统的内存分配方法,其特征在于,包括如下步骤:
首先进行内存区间初始化:将整个内存区间平均分为两块子区间,对每块内存子区间的MAX_FLI、MAX_SLI以及MBS参数值进行初始化;
然后开始在第一块内存子区间内进行内存分配,并记录每次内存分配大小;
当第一块内存子区间分配完毕后,根据记录的第一块内存子区间每次内存分配大小,计算出即将到来的内存分配大小预测值,根据预测值调节第二块内存子区间的MAX_SLI以及MBS参数值,并开始在第二块内存子区间中进行分配;
当第二块内存子区间分配完毕后,若第一块内存子区间全部释放完毕,则根据记录的第二块内存子区间每次内存分配大小,计算出即将到来的内存分配大小预测值,根据当前预测值调节第一块内存子区间的MAX_SLI以及MBS参数值,开始在第一块内存子区间中进行分配;若第一块内存子区间没有完全释放完毕,则不作调节,直接开始在第一块内存子区间中进行分配。


2.如权利要求1所述的针对嵌入式系统的内存分配方法,其特征在于,采用加权移动平均滤波法计算出即将到来的分配内存大小预测...

【专利技术属性】
技术研发人员:高明晋姚亚芬周一青石晶林
申请(专利权)人:中科晶上苏州信息技术有限公司
类型:发明
国别省市:江苏;32

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

1