[发明专利]一种嵌入式软件安全内存管理方法有效

专利信息
申请号: 201110428935.6 申请日: 2011-12-20
公开(公告)号: CN103176911A 公开(公告)日: 2013-06-26
发明(设计)人: 卫荣平 申请(专利权)人: 陕西银河网电科技有限公司
主分类号: G06F12/06 分类号: G06F12/06
代理公司: 西安吉盛专利代理有限责任公司 61108 代理人: 张培勋
地址: 710075 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 嵌入式 软件 安全 内存 管理 方法
【说明书】:

技术领域

发明属于计算机软件内存管理方法,特别是工业实时自动化装置中嵌入式软件的内存管理方法。

背景技术

计算机软件编程过程中离不开内存管理,通常内存管理算法都由操作系统提供;应用软件在运行过程中不可避免地频繁分配、释放和使用内存片段,而内存片段的访问安全性控制、以及内存片段分配和释放过程中形成的大量空间碎片,通常是造成系统不稳定的重要起因。在现代嵌入式系统中,嵌入式软件的功能越来越复杂,尤其是面向对象技术的广泛使用,传统的静态内存分配模式已不能满足软件编程过程中的算法需求。

目前在嵌入式系统中大量采用各种嵌入式操作系统,这些系统中提供了各具特色的内存管理算法,它们大多关心内存的分配和释放引起的碎片问题,通常采用固定尺寸的空间分配策略,造成空间利用效率低,并且这些算法没有检测内存片内容改写越界的问题。而这些问题,均是工业控制系统中满7x24应用中不能容忍的。

为了在嵌入式系统中应对越来越复杂的功能需要,面向对象编程技术越来越受到重视;然而,面向对象编程技术中许多面向对象本身特征带给设计者的优越体验,要大量动态创建对象时才能显现出来,而大量动态创建和释放对象实例往往会给系统中的内存管理带来大量的内存碎片;往往是总的内存用量不多,却又分配不到需要的内存片;直接基于地址指标的内存访问方法,在这种情况下没有有效的碎片收集方法来避免系统崩溃。

发明内容

本发明的目的是提供一种嵌入式软件安全内存管理方法,能够在内存碎片多、内存分配申请失败时,进行安全的内存碎片收集,确保软件安全可靠地运行。

本发明的目的是这样实现的,基于固定访问标识的内存管理方法,其特征是:包括:

内存池,在RAM中静态分配的存贮空间,用于存放分配给客户代码使用的内存片;

索引表,在RAM中静态分配的存贮空间,用于存放内存片索引;

一组用于完成内存片的管理的算法,这些算法在内存池中分配内存片并通过索引表进行管理,客户代码采用固定的访问标识进行申请、访问和释放等操作。

内存池是在嵌入式系统RAM中静态分配出来的一片存贮空间,其大小由嵌入式软件编程时预先配置,软件中各功能应用中需要分配的内存片均在内存池中分配。

在嵌入式系统RAM中静态分配出来的一片存贮空间,具有固定尺寸的结构,其数量在嵌入式软件编程时预先配置,在内存池中分配的内存片的信息,都记录在索引表中。

在内存池中分配的存贮空间,至少包括信息存贮空间和边界标志。 

用于完成内存片的管理的算法是基于客户代码提供的访问标识。

所述的索引表为固定尺寸的结构,每个结构中至少包含内存片所属的固定访问标识、内存片起始地址、内存片长度、分配计数四项记录;至少包含内存片分配、内存片访问、碎片收集、内存片释放的方法。

所述的标识用于内存管理算法将访问标识与内存片一对一地联系起来;内存片起始地址是内存片在内存池中的分配的空间的开始地址,用于为使用内存片的;内存片长度是客户代码申请内存片时指定的信息存贮空间尺寸和边界标志长度之和;分配计数是指客户代码使用同一个固定标志分配空间的次数;内存管理算法以固定访问标识为凭据,在内存池中搜索已分配过的具有相同固定访问标识的内存片,对重复访问标志分配要求,对索引项中的访问计数加一;分配失败时算法主动完成内存碎片收集。

以固定访问标识为凭据,在内存池中搜索已分配过的具有相同固定访问标识的内存片,并且检测内存片的边界标志是否被破坏。

将已分配的内存片强行移动到从内存池起始地址开始的一片连续存贮空间中,各内存片首尾相接,不留缝隙,同时修改索引表中对应索引项中记录的内存片起始地址;收集后内存池中最后一个块内存片之后全部为自由存贮空间;以固定访问标识为凭据,在内存池中搜索已分配过的具有相同固定访问标识的内存片;若找到,则将其中的分配计数减一;当分配计数为0时,释放内存片。

本发明的优点是:

提供了一套用于嵌入式软件编程过程中进行动态内存管理的一系列算法,实现了安全、高效的动态内存管理;这可以克服原有设计模式下需要在编程阶段为每个需要贮存器的代码静态分配内存、并且还不能确保访问的内存片中的内容的可靠性这一问题;尤其是现代嵌入式软件发展到越来越复杂,面向对象技术在嵌入式软件编程中得到越来越深入的应用,在安全、可靠、无碎片的动态内存管理技术的支持下,面向对象技术可发挥其全部的潜能。

附图说明

图1是本发明的实施结构示意图;

图2是内存片的结构图;

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西银河网电科技有限公司,未经陕西银河网电科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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