一种数字信号处理器嵌入式操作系统内存管理方法技术方案

技术编号:28469941 阅读:16 留言:0更新日期:2021-05-15 21:37
本发明专利技术提出一种数字信号处理器嵌入式操作系统内存管理方法,针对数字信号处理器的离散内存,根据其访问延时的长短进行优先级设定,延时越短的内存其优先级越高;操作系统的任务进程根据自身优先级申请对应优先级的内存空间。本发明专利技术针对数字信号处理器的离散内存块提出一种有效的内存管理方法,能够缩短对实时性要求较高的任务的内存访问时间,保障数字信号处理器的任务实时性要求。信号处理器的任务实时性要求。信号处理器的任务实时性要求。

【技术实现步骤摘要】
一种数字信号处理器嵌入式操作系统内存管理方法


[0001]本专利技术涉及内存管理
,尤其是一种数字信号处理器嵌入式操作系统内存管理方法。

技术介绍

[0002]嵌入式操作系统的内存管理方法通常是从整个内存中随机获取,主要有SLAB内存分配算法和顺序查找内存分配算法。SLAB内存分配算法是不断对空闲内存块进行对半切分,直至切出来的内存块刚好满足分配需求。内存分配时,首先计算满足需求的最小块是多大,若能够在对应链表中找到这样的块就直接分配,否则就搜索更大的块,并将其分为2个相等的子块,不断地重复这个过程,直至产生满足需求的最小块。顺序查找内存分配算法是从空闲内存块链表头部向后遍历链表,直至发现第一个合适的空闲内存块。例如,Best

Fit算法是从空闲内存块链表中寻找满足要求的最小空闲内存块;Next

Fit算法是将最后一次满足要求的内存块的位置记录下来,当新的分配请求到来时,从该位置向后搜索,直至找到合适的内存块。
[0003]以上两种内存分配算法均在嵌入式操作系统领域得到广泛应用,但针对具有内存空间离散、离散内存空间访问延时不同等特点的数字信号处理器,存在以下不足:1、均需要耗费较长时间寻找最适合的内存块,增加了任务获取内存时长;2、均未根据不同内存块的访问延时高低,对其进行分类,而任务获取内存所在区域是随机的,这可能使得实时性要求较高的任务分配到访问延时较高的内存,导致具有较高实时性需求的任务无法及时获取内存,保证数字信号处理器的任务实时性要求。
专利技术内容
[0004]针对现有内存管理方法中存在的不考虑任务实时性要求的内存分配算法,本专利技术提出一种数字信号处理器嵌入式操作系统内存管理方法。
[0005]一种数字信号处理器嵌入式操作系统内存管理方法,针对数字信号处理器的离散内存,根据其访问延时的长短进行优先级设定,延时越短的内存其优先级越高;操作系统的任务进程根据自身优先级申请对应优先级的内存空间。
[0006]进一步的,通过一级链表组织离散的内存块,通过二级链表组织每个内存块中的内存,同一内存块中的已分配内存在释放后与相邻未分配内存合并。
[0007]进一步的,内存分配流程包括以下步骤:
[0008]步骤1,将未分配内存的进程与其具有相应优先级的内存块匹配,该优先级记为P,并判断具有优先级P的内存块中的未匹配内存是否满足进程需求,若不满足需求,则执行步骤2,否则执行步骤3;
[0009]步骤2,P=P+1,再次判断具有优先级P的内存块中的未匹配内存是否满足进程需求,若不满足需求,再次执行步骤2,否则执行步骤3;
[0010]步骤3:未分配内存的进程从具有优先级P的内存块中申请内存。
[0011]本专利技术针对数字信号处理器的离散内存提出一种有效的内存管理方法,能够缩短对实时性要求较高的任务的内存访问时间,保障数字信号处理器的任务实时性要求。
附图说明
[0012]图1是具有优先级的内存块组合图;
[0013]图2是已匹配内存释放后与相邻未分配内存的合并图;
[0014]图3是本专利技术内存分配流程图。
具体实施方式
[0015]下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本专利技术限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本专利技术的原理和实际应用,并且使本领域的普通技术人员能够理解本专利技术从而设计适于特定用途的带有各种修改的各种实施例。
[0016]实施例1
[0017]一种数字信号处理器嵌入式操作系统内存管理方法,针对数字信号处理器的离散内存,根据其访问延时的长短进行优先级设定,延时越短的内存其优先级越高。例如,根据内存块访问延时的长短,将其分为0、1、2三个优先级,如图1所示,数值越低,优先级越高。
[0018]操作系统的任务进程自身也具有优先级,优先级最高的进程优先向优先级为0的内存块申请内存空间,优先级最低的进程只能向优先级为2的内存块申请内存空间。
[0019]通过一级链表组织离散的内存块,通过二级链表组织每个内存块中的内存,同一内存块中的已分配内存在释放后与相邻未分配内存合并,如图2所示,进程3释放的内存与未分配内存合并。
[0020]为了提高内存分配成功率,优先级高的进程可以向比起对应优先级低的内存块申请内存,具体内存分配流程如图3所示,包括以下步骤:
[0021]步骤1,将未分配内存的进程与其具有相应优先级的内存块匹配,该优先级记为P,并判断具有优先级P的内存块中的未匹配内存是否满足进程需求,若不满足需求,则执行步骤2,否则执行步骤3;
[0022]步骤2,P=P+1(即向具有低一级优先级的内存块申请内存空间),再次判断具有优先级P的内存块中的未匹配内存是否满足进程需,若不满足需求,再次执行步骤2(即再次向具有低一级优先级的内存块申请内存空间),否则执行步骤3;
[0023]步骤3:未分配内存的进程从具有优先级P的内存块中申请内存。
[0024]显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域及相关领域的普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本专利技术保护的范围。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数字信号处理器嵌入式操作系统内存管理方法,其特征在于,针对数字信号处理器的离散内存,根据其访问延时的长短进行优先级设定,延时越短的内存其优先级越高;操作系统的任务进程根据自身优先级申请对应优先级的内存空间。2.根据权利要求1所述的数字信号处理器嵌入式操作系统内存管理方法,其特征在于,通过一级链表组织离散的内存块,通过二级链表组织每个内存块中的内存,同一内存块中的已分配内存在释放后与相邻未分配内存合并。3.根据权利要求1或2所述的数字信...

【专利技术属性】
技术研发人员:余浩耿锐陈金忠高振标邹文静
申请(专利权)人:安徽芯纪元科技有限公司
类型:发明
国别省市:

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

1