欢迎来到天天文库
浏览记录
ID:46622594
大小:1.69 MB
页数:6页
时间:2019-11-26
《一种航天器软件进程堆栈使用深度的动态检测方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第26卷第l期航天器工程%101.26No.12017年2月SPACECRAFTENGINEERING85一种航天器软件进程堆栈使用深度的动态检测方法董振辉1侯春青2郭坚1张红军1(1北京空间飞行器总体设计部,北京100094)(2华为技术有限公司,北京100095)摘要航天器软件进程堆栈溢出往往会导致软件“跑飞”的后果。文章分析了现有堆栈使用深度检测的静态测试方法和动态测试方法的优点和不足,针对航天器数管软件的特点,提出了一种适用于航天器数管软件进程堆栈使用深度的动态检测方法。通过访问应用软件与系统软件的接口,获得进程堆栈的起始地址和大小等信息,将堆栈区初始化为特定标识,
2、对软件执行最大路径测试后,扫描堆栈区特定标识被覆盖情况,获得进程堆栈的使用深度。在嫦娥五号上升器数管软件中,实现了此方法,并通过上注在轨维护指令进行了测试。结果表明:在不借助任何专业检测软件的情况下,该方法能够实时检测出软件进程堆栈的最大使用深度,以利于避免进程堆栈溢出的风险,提高软件的可靠性。关键词航天器软件;进程堆栈;使用深度;动态检测中图分类号:V446文献标志码:ADOI:10.3969/j.issn.1673—8748.2017.01.013DynamicDetectionMethodofSpacecraftSoftwareProcessStackUsedDept
3、hDONGZhenhuilHOUChunqin92GUOJianlZHANGHongjunl(1BeijingInstituteofSpacecraftSystemEngineering,Beijing100094,China)(2HuaweiTechnologiesCo.,Ltd.,Beijing100095,China)Abstract:Spacecraftsoftwareprocessstackoverflowoftencausestheproceduretolosecontr01.Thepaperanalyzestheadvantagesanddisadvantag
4、esofstackuseddepthdetectionofstatictestanddynamictestmethods,andproposesadynamicdetectionmethodaccordingtothecharacteris—ticsofspacecraftsoftware.Throughtheinterfaceofapplicationsoftwareandsystemsoftware,thestartaddressandsizeofprocessstackcanbeobtainedandthestackspacewillbeinitializedassp
5、ecificidentityafterthesoftwareperformsthemaximumpathtest,andthestackspacewillbescannedtOobtaintheprocessstackuseddepth.InCE一5ascentstageonboarddatahandlingsoft—ware,themethodiSrealizedandtestedbythewayofonboardsoftwaremaintenance.Theresultsshowthattbemethodcandetectthemaximumuseddep,hofthe
6、processstackinrealtimewith—outanyprofessionalsoftware,whichisbeneficialforavoidingtheriskofprocessstackoverflow,thenimprovingthesoftwarereliability.Keywords:spacecraftsoftware;processstack;useddepth;dynamicdetection收稿日期:2016-08—16;修回日期:2018—12—29基金项目:国家重大科技专项工程作者简介:董振辉,男,工程师,从事航天器器载软件设计_7-
7、作。Email:564760683@qq.com。86航天器工程26卷1引言航天器数管中央处理单元软件主要完成航天器遥控、遥测、自主管理及与其他分系统通信等功能,关键程度通常为最高等级A级,它由系统软件和应用软件组成,应用软件运行在系统软件之上¨j。根据软件用户需求,应用软件一般划分为多个进程,每个进程堆栈的大小在创建进程时配置,之后不能更改。若进程堆栈空间分配不足,应用软件运行过程可能发生进程堆栈溢出,导致软件运行异常,甚至“跑飞”,从而影响航天器的正常工作,对航天器安全造成极大危害。合理分配进程堆栈大小的关键,
此文档下载收益归作者所有