- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析VxWorks内存泄露检测机制存在不足及改进
浅析VxWorks内存泄露检测机制存在不足及改进
摘 要:随着信息技术的不断发展,嵌入式设备也越来越多的在国防科技、网络通信以及工业控制领域中应用,因此对于系统的安全性与可靠性也越来越提出更多的要求,其中VxWorks操作系统,不仅具有可抢占式调度、中断延迟小、系统内核可剪裁的优势,而且也被应用到大多数的嵌入式产品中。以下本篇就将浅析在VxWorks系统中其内存泄露检测机制中存在的不足以及改进对策。
关键词:VxWorks系统;内存泄露检测;不足
中图分类号:TN929.53;TP319
基于当前嵌入式设备存储器容量较小的特征,因此对嵌入式系统的性能以及可靠性都提出较高的要求,特别是对于嵌入式操作系统的内存管理问题,更是成为当前的重点,不仅会直接影响到嵌入式设备的正常运行,还将会影响系统的安全性和可靠性。以下本篇就对VxWorks内存管理中存在的不足进行探讨,并给出有效的改进对策。
1 VxWorks操作系统内存泄露介绍
VxWorks操作系统中内存管理作为其重要的研究领域,解决以及处理内存泄漏问题以成为重点,就根据程序在申请到动态内存,且使用完动态内存后,不释放动态内存,并将其保存动态内存的地址变量用作其它时期,使动态内存并不能被释放,其它程序不能再使用动态内存,也无法被VxWorks操作系统回收,因此就会造成内存泄漏[1]。内存泄漏是因为疏忽以及错误而造成的程序在使用完之后未能释放动态内存的情况,针对内存泄露问题,不仅会使VxWorks应用程序申请动态内存的行为失败,也会导致服务中止,并且还会导致整个系统的资源崩溃。一般内存泄露就是指系统中堆内存的泄露,在云计算中虚拟技术作为关键技术,针对虚拟机的内存管理依然存在着内存泄露风险。
2 当前VxWorks系统内存泄露检测机制
针对当前内存管理中面对于内存泄漏的检测方法中,可以分为动态检测方法与静态检测方法两类。其中动态检测方法中,根据程序动态内存分配时,就可以在内存堆中作出标记,那么当程序退出的时候,释放所分配内存,可以通过检查堆上的残留的对象[2],以检测程序内存是否泄露。静态检测方法,就是通过程序源代码进行分析,???后再模拟所有可能执行路径,以此来判定程序中的可执行路径中是否存在安全缺陷,这样的检测不需要实际执行程序,不仅能够克服动态分析的开销较大弊端,还可以提高检测性能。
3 VxWorks系统内存泄露检测机制中存在的不足
对于当前VxWorks操作系统之中,在内存泄露检测中,依然存在一定的不足,动态检测方法虽然可以直接发现在实际程序中的缺陷,然而这样的检测机制中,时间开销大,且程序执行路径覆盖中还存在死角,其内存泄露检测结果的完备性不足[3],且实际中的漏报率较高。对于静态分析检测中,并不能精确判断程序输入以及环境变量等数据信息,因此在其检测之中的模拟执行路径可能会存在不可行路径,静态分析方法的误报率也较高。内存泄漏检测机制中,主要基于静态代码插桩、中断式插入、热补丁三种方式,但是这些都无法满足嵌入式操作系统对内存泄漏检测机制的需求,不能满足实时性、便捷性以及可靠性的要求,还会导致操作系统内存崩溃。
4 改进后的VxWorks 操作系统内存泄露检测机制
针对以上内存泄露检测机制中的不足,可以在基于Xen虚拟机的内存管理机制,采取动态检测虚拟机取检测内存泄露,其主要原理就是在虚拟机运行时,可以修改开源软件Valgrind中的源码,将其内插入监测代码,以便去动态截获虚拟机中申请的内存函数和释放内存函数,将其记录下来,以此来检测内存泄露,该内存检测机制不仅不需要修改被探测程序源代码,也不需要去重新编译,简化检测力度,降低内存泄露检测的漏报率。
4.1 动态截获虚拟机内存原理
该检测机制中,对于内存申请、释放的接口均具有统一、简单的特色,通过动态检测方法通对内存管理机制进行研究,用来截获内存申请以及释放的函数,可重载内存管理函数、内存读取函数以及进行指针运算,有效控制内存的操作功能。在内存分配以及回收中,主要是通过malloc与free实现,通过钩子程序与宏定义的方式进行替换,并且还具备记录调用函数源文件、与源文件所处位置的功能,还可以在自定义表中增加以及删除调用信息,不管是针对管理内存块、堆、栈以及全局变量,只要是有指针引用该内存,内存块的起始地址和内存块大小等信息就会被记录到全局表中,从符号表中得到静态内存,通过重载内存管理函数实现对堆里动态内存的分配。
4.2 自动内存泄漏检测机制的优势
在基于VxWorks操作系统自动内存泄漏检测机制中,可以预定义内存泄漏的门限以及内存驻留时间门限,并通过中断服务去唤醒检测任务,以此例收集泄漏内存信息,不仅具有实时性、便捷性;自动内存泄
您可能关注的文档
- 根据现场施工对沥青路面施工质量控制分析.doc
- 桂林发展休闲农业思考与对策.doc
- 桃仙机场灾害性天气过程预报思路与保障服务探讨.doc
- 桃源水电站管型座结构特点及安装工艺分析.doc
- 框剪结构设计时一些问题探讨分析.doc
- 框架―剪力墙结构中剪力墙设计要点分析.doc
- 框架结构常见质量问题及控制.doc
- 框架结构设计中存在问题及对策分析.doc
- 案例教学法在《网页设计》课程教学中应用.doc
- 案例教学法在中职市场营销教学中实施探讨.doc
- 剑桥少儿英语一Unit2--My-school.ppt
- 动火作业管理要求解读.pptx
- 体质性高胆红素血症的护理.ppt
- 专题03 地图与地理信息技术(百题精选)(期末真题汇编)(原卷版).docx
- 专题二 土地资源及其保护(分层作业)(原卷版).docx
- 专题03 地图与地理信息技术(百题精选)(期末真题汇编)(解析版).docx
- 专题二 土地资源及其保护(分层作业)(解析版).docx
- 高一英语期末模拟卷(含解析)(北师大版2019).docx
- 高一英语期末模拟卷(含解析)【测试范围:必修一必修二Units1~3】(外研版2019).docx
- 全国大学生职业规划大赛《刑事侦查》专业生涯发展展示PPT【高职(专科)】.pptx
原创力文档


文档评论(0)