[发明专利]一种内存管理方法在审

专利信息
申请号: 201310261039.4 申请日: 2013-06-27
公开(公告)号: CN103324579A 公开(公告)日: 2013-09-25
发明(设计)人: 冯明 申请(专利权)人: 上海斐讯数据通信技术有限公司;上海万得凯实业有限公司
主分类号: G06F12/02 分类号: G06F12/02
代理公司: 暂无信息 代理人: 暂无信息
地址: 201616 上海市松江*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 内存 管理 方法
【说明书】:

技术领域

发明涉及内存管理技术领域,特别是涉及一种内存管理方法。

背景技术

嵌入式系统的广泛应用,如何对嵌入式系统的内存进行高效管理已成为研发人员的研究热点。

在嵌入式系统中,内存使用存在申请频繁,使用内存块大小不均等问题,在系统长期运行后,会出现系统内存碎片化、内存申请释放效率低等问题,同时在内存操作出现异常时,极易导致系统崩溃。本发明通过对交换机等产品系统内存使用的情况分析,提出一种申请的方案,提高内存使用的效率,避免出现内存碎片化,并提供内存检查、统计分析。

发明内容

基于此,有必要提供一种内存使用效率高的内存管理方法。

一种内存管理方法,包括:

将内存划分为一阶以上的内存池和系统内存堆;

申请内存时,根据申请内存大小确定出阶内存池,并根据阶内存池空闲链表为内存申请分配内存;

释放内存时,根据需释放内存的内存链表,对内存进行释放。

在其中一个实施例中,所述申请内存时,根据申请内存大小确定出阶内存池,并根据内存池空闲链表为内存申请分配内存为:

根据申请内存大小确定出阶内存池;

若阶内存池空闲链表为空,则向系统内存堆申请,否则向阶内存池空闲链表申请。

在其中一个实施例中,若确定出的阶内存池大于最大阶内存池,则申请内存失败。

在其中一个实施例中,申请内存时,内存大小包括内存标识和实际使用两部分之和。

在其中一个实施例中,所述内存标识包括内存头、内存尾、前哨兵以及后哨兵。

在其中一个实施例中,所述释放内存时,根据需释放内存的内存链表,对内存进行释放为:

检查内存头是否被改写,若是,则终止释放;

检查前哨兵是否越界,若是,则终止释放;

检查内存尾是否被改写,若是,则终止释放;

检查后哨兵是否越界,若是,则终止释放。

在其中一个实施例中,还包括:

若内存是由阶内存池空闲链表申请的,则将内存从内存链表移出,移入阶内存次空闲链表。

在其中一个实施例中,还包括:

若内存是由系统内存堆申请的,则将内存从内存链表移出,移入阶内存次空闲链表或者释放回系统内存堆。

在其中一个实施例中,根据内存链表和阶内存池空闲链表监控内存使用情况。

采用本发明的方法后,内存分为一阶以上内存池和系统内存堆两部分,内存申请时,在阶内存池没有空闲内存块时,不向高阶内存池申请,而是向系统内存堆申请,使用效率高。

附图说明

图1为本发明一实施例提供的内存管理方法的流程图;

图2为图1中步骤200的具体方法流程图;

图3为图1中步骤300的具体方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更清楚明白,以下结合附图及实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参阅图1,本发明提供的一个实施例的内存管理方法,包括:

步骤S100,将内存划分为一阶以上的内存池和系统内存堆;

将内存分为两部分,一部分划分为一阶以上的内存池,一部分为系统内存堆。内存申请时,在阶内存池没有空闲内存块时,向高阶内存池申请,造成内存的使用效率不高。分成两部分时,在阶内存池没有空闲内存块时,向系统内存堆申请,使用效率高。

步骤S200,申请内存时,根据申请内存大小确定出阶内存池,并根据阶内存池空闲链表为内存申请分配内存;

具体的,参阅图2,包括:

步骤S201,根据申请内存大小确定出阶内存池;

步骤S202,判断阶内存池空闲链表是否为空;

步骤S203,若阶内存池空闲链表为空,则向系统内存堆申请;

步骤S204,若阶内存池空闲链表不为空,则向阶内存池空闲链表申请。

当根据申请内存的大小确定出的阶内存池大于最高阶内次池,则申请内存失败。

步骤S300,释放内存时,根据需释放内存的内存链表,对内存进行释放。

申请内存时,内存大小包括内存标识和实际使用两部分,假设需要使用10M内存,申请时,还必须加上内存标识占的内存。内存标识包括内存头、内存尾、前哨兵以及后哨兵。

具体的,参阅图3,包括:

步骤S301,检查内存头是否被改写,若是跳到步骤S305;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司;上海万得凯实业有限公司,未经上海斐讯数据通信技术有限公司;上海万得凯实业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310261039.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top