[发明专利]一种内存保护方法有效
申请号: | 201110446650.5 | 申请日: | 2011-12-28 |
公开(公告)号: | CN102541748A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 周印伟 | 申请(专利权)人: | 青岛海信宽带多媒体技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 青岛联智专利商标事务所有限公司 37101 | 代理人: | 李升娟 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 保护 方法 | ||
技术领域
本发明涉及一种内存保护方法,属于内存管理技术领域。
背景技术
现有OS(操作系统)的内存管理机制能够让用户灵活动态的使用操纵内存,这种机制给用户带来便利的同时也带来了极大的安全隐患。伴随技术的快速发展,软件规模越来越庞大,软件的复杂度也极大提高,这样就会导致内存使用的随意性大大增加,内存被破坏的可能性也大大提高,而有的内存管理机制无法识别内存地址的合法性,在用户动态申请、释放内存时就会带来极大的安全隐患,导致系统极为不稳定,严重情况可导致系统瘫痪,导致设备无法正常工作。
现有一些解决方案虽然在一定程度上解决了一些内存的隐患,但绝大部分仅仅保护内存首地址信息而没有对整块内存进行有效保护。
针对上述情况,如何提出一种内存保护方法,在对整块内存加以保护的同时还采用了内存记录日志系统对内存使用情况进行了有效的跟踪记录,是本发明主要解决的问题。
发明内容
本发明为了解决现有内存保护机制不完善的问题,提供了一种内存保护方法,可以有效的监控检查内存,极大提升系统稳定性及可靠性。
为了解决上述技术问题,本发明采用以下技术方案予以实现:
一种内存保护方法,包括以下步骤:
(1)、每次分配内存时,另外开辟一段存储有标识信息的空间,并一起分配给用户;
(2)、当用户释放内存时,判断标识信息中是否包含内存空间释放的信息,若是,则结束;
(3)、若标识信息中没有包含内存空间释放的信息,则判断标识信息中的信息是否与分配内存时所存储的标识信息一致,若一致,则结束,否则,记录错误信息。
进一步的,步骤(1)中所开辟的存储有标识信息的空间为:
在实际分配的内存空间的两端分别加入头、尾两部分标识信息,其中,头标识信息记录为DOGTAG_VALID,尾标识信息记录为DOGTAG_TAIL。
又进一步的,步骤(2)中判断标识信息中是否包含内存空间释放的信息的方式为:判断头标识信息中是否包含内存空间释放的信息。
再进一步的,当用户释放内存时,调用释放指令,并且将头标识中的信息修改为内存空间释放:DOG_FREE。
优选的,当用户释放内存时,还包括将内存块清零的步骤。
步骤(3)中判断标识信息中的信息是否与分配内存时所存储的标识信息一致的方式为:
(31)、首先判断头标识中的信息是否与DOGTAG_VALID一致,若不一致,记录错误信息,若一致,执行步骤(32);
(32)、判断尾标识中的信息是否与DOGTAG_TAIL一致,若不一致,记录错误信息,若一致,则将头标识中的信息修改为内存空间释放:DOG_FREE。
步骤(3)中记录错误信息的方式为:创建内存日志记录系统,当用户分配内存时,建立一个日志记录系统节点,并将内存块首地址、内存块大小、分配内存所在的文件名、分配内存所在的行号以及附属信息填充于日志记录系统中,当需要记录错误信息时,将错误信息记录于内存日志记录系统中。
当释放内存时,从所述节点移除,并将移除时的DOG_FREE信息记录到内存日志记录系统中。
优选的,所述头标识信息的数据大小为8字节。
优选的,所述尾标识信息的数据大小为4字节。
与现有技术相比,本发明的优点和积极效果是:本发明的内存保护方法原有操作系统的内存管理基础上引入了狗牌保护机制及内存记录日志系统,在动态内存管理上加入狗牌标记,有效识别并记录内存使用情况,确保用户使用操作的内存合法有效,并协助用户监控、检查内存是否有泄漏,有效提升了系统稳定性。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
图1是本发明所提出的内存保护方法的一种实施例流程图;
图2是本发明所提出的内存保护方法的一种实施例的内存空间示意图;
图3是本发明所提出的内存保护方法的一种实施例的内存日志记录系统结构示意图。
具体实施方式
本发明为了解决现有内存保护机制不完善的问题,提供了一种内存保护方法,通过在所分配的内存另外开辟一段存储有标识信息的空间,一起分配给用户,当用户释放内存时,判断标识信息的正确性,进而可以判断出内存是否被踩,并做出记录,可以有效的监控检查内存,极大提升系统稳定性及可靠性。
下面结合附图对本发明的具体实施方式作进一步详细地说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信宽带多媒体技术有限公司,未经青岛海信宽带多媒体技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110446650.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据库读写分离的方法和装置
- 下一篇:安装程序制作方法、装置及网络设备