[发明专利]一种基于全局字节数组的嵌入式内存管理方法及装置在审
申请号: | 202110302248.3 | 申请日: | 2021-03-22 |
公开(公告)号: | CN112685188A | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 任文龙;刘嵩义;温奎;罗勇 | 申请(专利权)人: | 四川九洲电器集团有限责任公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 林菲菲 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 全局 字节 数组 嵌入式 内存 管理 方法 装置 | ||
1.一种基于全局字节数组的嵌入式内存管理装置,其特征在于,包括一个内存池和一个内存管理器;
所述内存池是通过在嵌入式系统中定义一个全局字节数组创建,所述内存池划分为多个固定大小的内存块;
所述内存管理器包括内存池使用状态和一个单向链表,所述内存池使用状态用于指示内存块的使用情况,所述单向链表用于挂接内存池中空闲的内存块;
所述内存管理器用于对外提供动态内存管理。
2.根据权利要求1所述的一种基于全局字节数组的嵌入式内存管理装置,其特征在于,所述内存池使用状态包括内存池首地址、内存池的大小、每个内存块的大小、内存块的总数量、内存块的使用数量和内存块的空闲数量。
3.根据权利要求1所述的一种基于全局字节数组的嵌入式内存管理装置,其特征在于,所述单向链表是通过定义数组创建,数组大小和内存池中内存块总数量相同;
所述单向链表的结点包括内存块的首地址或内存块相对于内存池首地址的偏移量。
4.基于权利要求1-3任一项所述的一种基于全局字节数组的嵌入式内存管理装置的方法,其特征在于,包括以下步骤:
初始化所述内存管理器;
基于初始化后的内存管理器对外提供动态内存管理。
5.根据权利要求4所述的方法,其特征在于,所述初始化过程包括:
根据内存池的大小和每个内存块的大小计算出内存池使用状态;
对全部内存块清零并挂接到所述单向链表中。
6.根据权利要求4所述的方法,其特征在于,所述基于初始化后的内存管理器对外提供动态内存管理步骤包括内存动态申请管理,具体过程包括:
根据当前内存池使用状态判断当前是否有空闲内存块,若有则返回单向链表第一个结点,将所述单向链表表头指向下一个结点并更新内存池使用状态;若无则直接返回空值。
7.根据权利要求4所述的方法,其特征在于,所述基于初始化后的内存管理器对外提供动态内存管理步骤包括内存动态释放管理,具体过程包括:
将需要释放的内存块内存空间全部置零;
将置零后的内存块插入所述单向链表的第一个结点位置;
更新内存池使用状态。
8.根据权利要求4所述的方法,其特征在于,所述基于初始化后的内存管理器对外提供动态内存管理步骤包括重置接口,具体过程包括:
在内存池大小和内存块大小保持不变的情况下,进行初始化过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川九洲电器集团有限责任公司,未经四川九洲电器集团有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110302248.3/1.html,转载请声明来源钻瓜专利网。