(计算机科学与技术专业论文)基于动态加载机制的星载计算机可靠性增强技术研究.pdf_第1页
(计算机科学与技术专业论文)基于动态加载机制的星载计算机可靠性增强技术研究.pdf_第2页
(计算机科学与技术专业论文)基于动态加载机制的星载计算机可靠性增强技术研究.pdf_第3页
(计算机科学与技术专业论文)基于动态加载机制的星载计算机可靠性增强技术研究.pdf_第4页
(计算机科学与技术专业论文)基于动态加载机制的星载计算机可靠性增强技术研究.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术大学研究生院硕士学位论文 摘要 星载计算机是航天器上执行星务管理、状态控制、数据处理等功能的中枢。 作为工作在太空复杂环境下的嵌入式系统,它与一般地面嵌入式系统相比,设计 时既受到整个航天器对质量和功耗的基本约束,又因为工作环境温差大、辐射强, 故障发生机率较高,一旦出现故障因远离地面而不易维护,因此必须要求更高的 可靠性。一般来说,星载计算机的故障主要源于太空中的辐照,因而通常采用抗 辐照电子元件和冗余结构等硬件设计进行防护。但近年来,直接采用加固后的具 有更高性能、更低成本的c o t s ( c o m m e r c i a lo f f - t h e s h e l f , 商用现成产品) 芯片 已成为星载计算机设计的一种新趋势。 动态加载机制是操作系统中广泛采用的一种软件加载方式,它将应用和所需 的代码库分离,只有当需要时才从文件系统中加载目标代码,实现运行时加载。 本文研究通过动态加载机制,一方面解决星载计算机存储资源受限的问题,另一 方面作为系统技术之一,为星载计算机的故障检测和恢复机制提供一系列支持, 特别是用于实现c o t s 芯片软加固技术中的配套恢复机制,解决单粒子翻转引起 的瞬间故障的检测和恢复。 本文主要研究工作包括以下几个方面: ( 一) 分析星载计算机的可靠性需求和嵌入式操作系统中的动态加载技术的 特点,探讨利用动态加载增强星载计算机可靠性的途径; ( 二) 通过分析星载计算机的软件系统设计需求,提出基于动态加载的模块 化软件系统结构,并对其中的模块管理等关键技术进行了讨论。 ( 三) 通过对v x w o r k s 动态加载机制源码的分析,修改了v x w o r k s 中动态加 载的几种策略,设计并实现了一个动态模块管理系统,完成对模块信息的管理, 增加用户对加载的查询和配置功能。 ( 四) 基于动态模块管理系统,实现支持单粒子翻转故障恢复的模块重载技 术、支持系统重启恢复的模块自动加载技术,以及增强系统扩展性的模块动态替 换和任务动态管理技术。最后,讨论了动态加载支持动态硬件检测和设备容错的 两项可靠性增强方案。 ( 五) 设计了模块实例,一方面验证动态模块管理系统的正确性,另一方面 通过相应的应用场景测试分析,说明所实现的几项技术能够有效地增强星载计算 机可靠性。 主题词:星载计算机,可靠性,动态加载,v x w o r k s 操作系统 第i 页 国防科学技术大学研究生院硕七学位论文 a b s t r a c t t h eo n - b o a r dc o m p m e r ( o b c ) i st h ec e n t r a lu n i to ft h es a t e l l i t ep e r f o r m i n g s e r v i c em a n a g e m e n t ,s t a t ec o n t r o l ,d a t ap r o c e s s i n g ,a n do t h e rf u n c t i o n s a sak i n do f e m b e d d e ds y s t e mw o r k i n gu n d e rt h eh a r s hs p a c ee n v i r o n m e n t ,c o m p a r e d 而t 1 1t h eo n e o nt h eg r o u n d 。i ti sn o to n l yr e s t r i c t e db yt h ew h o l es p a c e c r a f t 、析t i lw e i g h ta n dp o w e r , b u ti sa l s od i f f i c u l tt om a i n t a i nf o rb e i n ga w a yf r o mt h eg r o u n d ,a l t h o u g hw h i c hi sm o r e p r o n et of a i l u r eb e c a u s eo ft h el a r g et e m p e r a t u r ed i f f e r e n c ea n ds t r o n gr a d i a t i o ni nt h e s p a c e ,s oi tr e q u i r e sad e s i g no fah i g h e rr e l i a b i l i t y g e n e r a l l y ,t h ef a u l t so ft h eo b c m a i n l yc o m ef r o mt h er a d i a t i o ni nt h es p a c e ,w h i c hd r i v e sp e o p l et oc h o o s et h e p r o t e c t i v ea n t i r a d i a t i o nc h i pa n dd e v e l o pr e d u n d a n th a r d w a r es t r u c t u r e m l i l ei n r e n c e n ty e a r s ,t h e t e c h n i q u e s o fh a r d e n n i n gc o t sc h i pw h i c hh a s g e th i g h e r p e r f o r m a n c ea n dl o w e rc o s t sh a sb e c o m ean e wt r e n do f t h ed e s i g no f t h eo b c d y n a m i cl o a d i n gm e c h a n i s mi sw i d e l yu s e di nt h eo p e r a t i n gs y s t e ma sa n a p p r o a c ho fr u n n i n gt h es o f t w a r e ,w h i c hs e p a r a t e st h ea p p l i c a t i o na n dt h el i b r a r ya n d l o a d st h eo b j e c tc o d ef r o mt h ef i l es y s t e mo n l yw h e ni ti sn e e d e d ,e m p h a s i z i n gr u n - t i m e l o a d i n g t h i sp a p e rs t u d i e st h ed y n a m i cl o a d i n gm e c h a n i s mn o to n l yf o rt h es e t t l e m e n t o fo n - b o a r dc o m p u t e rs t o r a g er e s o u r c e - c o n s t r a i n e dp r o b l e m ,b u ta l s of o rs u p p o r t t i n gt h e o n - b o a r dc o m p u t e rf a i l u r ed e t e c t i o na n dr e c o v e r ym e c h a n i s m sa so n eo ft h es y s t e m t e c h n o l o g i e s ,e s p e c i a l l y t oa c h i e v et h e r e c o v e r y m e c h a n i s mo f c o t s c h i p s o f t - r e i n f o r c e m e n tt e c h n i q u e st oh e l pr e c o v e rf r o mt h et r a n s i e n tf a u l tc a u s e db yt h e s i n g l ee v e n tu p s e t t h ec o n t e n to ft h i st h e s i sc a l lb eg e n e r a l i z e da sf o l l o w s : 1 ) t h et h e s i ss t u d i e st h er e l i a b i l i t yn e e d so ft h eo n - b o a r dc o m p u t e r sa n dt h e c h a r a c t e r i s t i c so ft h ed y n a m i cl o a d i n gi nt h ee m b e d d e do p e r a t i n gs y s t e mt oe x p l o r et h e w a y so fe n h a n c i n gt h er e l i a b i l i t yo ft h eo b cb yd y n a m i cl o a d i n g 2 ) b ya n a l y z i n gt h ed e s i g nr e q u i r e m e n t so ft h eo n - b o a r dc o m p u t e r ss o f t w a r e s y s t e m ,t h et h e s i sp u t sf o r w a r dt h em o d u l a rs o f t w a r ea r c h i t e c t u r eb a s e do nd y n a m i c l o a d i n g ,a n dd i s c u s s e st h ec o r r e l a t i v ek e yt e c h n o l o g i e ss u c ha sm o d u l em a n a g e m e n t 3 ) t h ev x w o r k se m b e d d e do p e r a t i n gs y s t e mi su s e da sa ne x a m p l ei nt h ea n a l y s i s o ft h es y s t e m sd y n a m i cl o a d i n gp a r to ft h es o u r c ec o d ea n dd i s c u s s e s i o no ft h em a i n c o n t e n ta n dc o n c r e t es t e p so fd y n a m i c a ll o a d i n gm o d u l e si ne m b e d d e do p e r a t i n g s y s t e m s c o n s e q u e n t l y ,ad y n a m i cl o a dm a n a g e m e n ts y s t e mt os u p p o r tt h ep r a c t i c ei s a c h i e v e dt h r o u g hm o d i f y i n gs e v e r a lv x w o r k s d y n a m i cl o a d i n gs t r a t e g i e s ,e n h a n c i n g t h em o d u l ei n f o r m a t i o nm a n a g e m e n t ,a d d i n gt h ef u n c t i o n so fq u e r y i n ga n ds e t t i n gb y u s e r s 4 ) b a s e do nt h ed y n a m i cl o a d i n gm a n a g e m e n ts y s t e m ,an u m b e ro fb a s i c t e c h n i q u e sa r e a l s oa c h i e v e dt os u p p o r tt h eo n - b o a r dc o m p u t e r sr e l i a b i l i t yd e s i g n , 第i i 页 国防科学技术大学研究生院硕十学位论文 i n c l u d i n gt h em o d u l er e l o a d i n gt e c h n o l o g yf o rt h es e uf a u l t ,t h el o a d i n ga u t o m a t i c a l l y a f t e rr e b o o tt e c h n o l o g yf o rt h er e c o v e ra f t e r r e b o o t ,w i t ht h em o d u l er e p l a c i n g t e c h n o l o g ya n dt h ed y n a m i ct a s km a n a g e m e n ts y s t e mf o re n h a n c i n gt h es c a l a b i l i t y f i n a l l y ,f r o mt w oa r e a so fe r r o rd e t e c t i o na n df a u l t t o l e r a n t ,t h et h e s i sp r o p o s e st w o d e s i g n so fd y n a m i ch a r d w a r ed e t e c t i o na n de q u i p m e n tf a u l t - t o l e r a n tn m n i n gs u p p o r t e d b yd y n a m i cl o a d i n ga st w oo t h e re x a m p l e s 5 ) f i r s tv e r i f yt h ec o r r e c t n e s so ft h ed y n a m i cl o a dm a n a g e m e n ts y s t e m s 研t ht h e m o d u l ei n s t a n c e s ,a n dt h e nd e v e l o pat e s ts c e n a r i of o ra n a l y s i s i tp r o v e st h a tt h e i m p l e m e n t a t i o no ft h ea c h i e v e dt e c h n i q u e st e c h n o l o g yw i l le f f e c t i v e l ys u p p o r ta n d e n h a n c et h er e l i a b i l i t yo ft h eo b c k e yw o r d s :o n b o a r dc o m p u t e r ,r e l i a b i l i t y ,d y n a m i cl o a d i n g ,v x w o r k s 第i i i 页 国防科学技术大学研究生院硕士学位论文 表目录 表3 1 用户命令2 2 表4 1 模块的文件替换3 6 表5 1 命令集合4 4 第1 i i 页 国防科学技术大学研究生院硕士学位论文 图目录 图2 ,1 基于模块的软件系统结构9 图2 2 动态模块加载机制1 1 图3 1v x w o r k s 系统结构1 3 图3 2v x w o r k s 的加载器组件1 4 图3 3v x w o r k s 动态加载实例15 图3 4 两种嵌入式软件系统开发流程1 6 图3 。5 模块目标文件加载1 8 图3 6 动态模块管理系统的层次结构2 1 图3 7 用户加载命令处理流程2 3 图3 8 用户卸载命令处理流程2 3 图3 9 模块依赖关系查询命令处理流程2 4 图3 1 0 模块管理信息的组织结构2 5 图4 1 利用模块重载技术的故障恢复过程2 9 图4 2 模块重载功能流程图3 0 图4 3 支持重启自动加载的管理系统3 2 图4 4自动加载链表3 3 图4 。5自动加载链表查询与设置命令流程图3 3 图4 6自动加载标志设置函数的流程图3 4 图4 7 包含自动加载的系统启动过程3 5 图4 8 模块替换命令的处理流程3 7 图4 9 任务的动态发起和删除3 9 图4 1 0 利用动态加载进行设备故障检测4 0 图4 。1l星载设备的故障处理策略4 1 图5 1共享模块库和应用任务实际场景4 3 图5 2 帮助命令m h e l p 4 4 图5 3 加载命令m i d 4 5 图5 4 模块显示命令m s h o w a l l 4 5 图5 5 模块依赖查询命令4 5 图5 6 模块卸载命令4 6 图5 7 模块重载验证实例4 7 图5 8 地址修改指令4 7 图5 9 错误注入4 7 图5 1o 错误结果4 7 第1 v 页 国防科学技术大学研究生院硕+ 学位论文 模块重载实现。4 8 模块未被依赖时的替换。4 8 模块被依赖时的替换4 9 自动加载设置参数错误5 0 自动加载设置模块未加载错误。5 0 自动加载设置逻辑错误。5 0 自动加载属性设置。5 0 自动加载属性取消5l 自动加载链表设置51 重启自动加载51 任务动态加载的模块约束5 2 任务动态加载5 2 任务动态删除。5 2 第v 页 l 2 3 4 5 6 7 8 9 o 1 2 3 1 1 1 1 1 1 1 1 1,二,二,二,、| 5 5 5 5 5 5 5 5 5 5 5 5 5 图图图图图图图图图图图图图 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目: 基王邈查担戴狃剑鲍星惑i 土箕扭互靠性增堡技盔盟究一一 学位论文作者签名:i 基 日期:2 0 d 1 年2 - 月如日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:基王边盔擅载扭剑鲍星惑i 土篡扭互囊性增强挂盔珏盔 学位论文作者签名:至垦 作者指导教师签名:他 日期: 蛳1 年,月如日 日期:+ 1 年t 知月岁。日 国防科学技术大学研究生院硕十学位论文 第一章绪论弟一早三百t 匕 1 1 研究背景 1 1 1 星载计算机的可靠性需求 2 0 世纪5 0 年代,前苏联在拜科努尔发射场发射了世界上第一颗人造地球卫星, 并送入轨道,人类从此进入了利用航天器探索外层空间的新时代。随着人类科学 技术的不断高速发展,从人造卫星到航天飞船,从无人到载人,从月球到火星甚 至到更遥远的星系,人类从来没有放缓探索太空的脚步。对太空的探索,能够帮 助人类了解宇宙演化及其中的各种物理现象和过程、了解人类和地球生物在宇宙 中的地位及意义,从而帮助人类更好的了解自然和改造自然。特别是对于一个国 家来说,对太空的探索将直接促进对各种太空资源的发掘和利用,利用太空的极 端环境进行各种科学和技术试验又将极大推动科技的进一步发展。因此,航空航 天技术不仅是一个国家综合国力和尖端科技实力的体现,而且对国家的军事、国防 和经济有着重要影响。有学者指出,2 1 世纪国际军事科技发展的前沿阵地在太空, 与传统的陆海空相比,太空将是真正的军事“制高点”。中国必须在日益激烈的太空 技术中争取主动,否则就没有能力应对未来的挑战l l 】。在各种太空技术中,星载计 算机的设计开发是至关重要的一环,无论是卫星、航天飞机、空间机器人还是空 间站,都需要通过它来执行设备控制、事务管理和数据处理等复杂程度各异的航 天任务【2 】【1 3 】。 星载计算机是一类特殊的嵌入式系统,与一般地面上使用的嵌入式系统相比, 它有许多特殊要求。首先,星载计算机的设计受到整个航天器质量和功耗的基本 约束1 2 j 。一方面,众所周知,航天器的质量越大,将之送入轨道的困难和成本也就 越高;另一方面,目前在太空中长期运行的航天器主要采用太阳能作为能源,而 太阳能的获取与储存是有限的。因此,星载计算机在设计时必须尽量满足体积小、 重量轻、功耗低的要求,从而使它的存储资源受到了限制,运行时应当关闭暂时 不必要的软硬件。其次,星载计算机工作的太空环境具有温度低、温差大、辐射 强等特点,大大提高了星载计算机的故障发生机率。而星载计算机是航天器的核 心部件,直接关系到整个航天器的安全。但是航行中的星载计算机却不能像在地 面一样方便地进行检测维修,因此在设计制造时需要追求较强的容错能力,保证 在系统出现软硬故障时能够快速自动检测、隔离与恢复【l2 1 。此外,卫星技术的应 用与发展,对星载计算机的可扩展性也提出了更高的要求。一方面由于卫星的成 本较高,人们希望星载计算机被设计为在不同时段服务于不同目标和环境,能够 第1 页 国防科学技术大学研究生院硕士学位论文 在保证可靠性的自i 提下达成多种工作目标。另一方面,随着航天技术的发展,星 载计算机所承担的任务也呈现出更加复杂化的趋判3 1 ,特别是对于更广阔的太空环 境,星载计算机必须能够处理更频繁的意外状况。因此在星载计算机的设计中需 要考虑支持系统的动态配置以及满足变化的任务需求。 总之,星载计算机是航天器重要的系统核心部件,它的可靠性直接关系到控 制中枢乃至整个航天器的成败。要保证卫星能够可靠运行,星载计算机需要在综 合考虑质量、功耗以及成本的前提下,实现高效的的故障检测和恢复机制,使得 星载计算机能够在出错时检测出错误以保证系统运行的正确性、在出错后修复错 误或者降级运行以保证系统运行的稳定性,同时具有良好的可扩展性,在系统运 行时能够动态配置设备和升级软件,保证系统运行的灵活性。 1 1 2 星载计算机软加固技术 如前所述,星载计算机工作在恶劣的太空环境之下,受到太空辐照的影响,因 而容易发生各种故障。在过去2 0 年中,根据分析平均每年有两颗人造卫星部份或 整体任务的失败是由于电子零件受到空间辐射影响造成的。在空间辐射对星载计 算机造成的辐射效应中,单粒子效应( s e e ,s i n g l ee v e n te f f e c t s ) 是比较常见的一类, 它是指由于高能带电粒子轰击半导体集成电路所造成的故障,分为单粒子翻转、 单粒子闩锁和单粒子烧毁三种【5 】【6 】【引。单粒子翻转( s e u ,s i n g l ee v e n tu p s e t ) 是由 于高能带电粒子轰击造成电路的逻辑状态发生翻转而产生的故障,是一种可恢复 的暂时故障,通过重写数据使得电路单元进行重新充放电后,能够使故障得到恢 复。单粒子闩锁( s e l ,s i n g l ee v e n tl a t c h u p ) 是由于高能带电粒子轰击造成半导 体电路内部发生短路,使得电路状态被锁定而产生的故障,如果及时发现并且进 行断电重启操作可以使得电路得到恢复,否则器件可能被烧毁从而造成永久性的 故障。单粒子烧毁( s e b ,s i n g l ee v e n tb u r n o u t ) 是由于高能带电粒子轰击造成半 导体电路被烧毁的现象,是一种永久性故障,需要通过软硬件方式进行标记和隔 离以防止再次使用产生错误。 针对单粒子效应等空间恶劣环境引起的系统故障,传统的星载计算机设计通常 采用抗辐照芯片进行防护,以增强系统的抗辐照能力。但是抗辐照芯片不仅设计 和生产成本高、功耗大,而且性能相对较低,不能完全满足日益增长的航天应用 需求。因此,直接采用加固后的具有更高性能、更低成本的c o t s ( c o m m e r c i a l o f f - t h e s h e l f , 商用现成产品) 芯片已成为星载计算机设计的一种新趋势。而通过 软件加固c o t s 芯片是一个重要的研究方向。目前,软加固技术主要针对单粒子 翻转引起的硬件瞬间故障,研究如何及时发现和恢复故障。在美国的a r g o s ( a d v a n c e dr e s e a r c ha n dg l o b a lo b s e r v a t i o ns a t e l l i t e ) 项目和r e e ( r e m o t e 第2 页 国防科学技术大学研究生院硕十学位论文 e x p l o r a t i o na n de x p e r i m e n t a t i o n ) 项目p j 中,在低轨道空l 瑚使用类似的软加固技术 加固c o t s 芯片进行实验,错误检测率达到9 9 7 ,处理能力提高了一个数量级以 上,取得了良好的效果。 在星载计算机系统中,单粒子翻转造成的瞬时故障一般是指由于存储器或寄存 器的某位被粒子轰击造成翻转,从而引起指令执行顺序的混乱或数据错误,导致 程序执行后得到错误的结果。这类错误若被隐蔽而未能及时发现,将可能造成意 想不到的灾难性后果。作者所在课题组提出了一种基于软件技术发现硬件瞬间故 障的方案,其基本思路是采用软件复算技术发现可能的数据流错误,采用控制流 校验技术来发现可能的控制流错误。软件复算的关键技术在于通过变换程序得到 具有明显差异性的代码以提高故障检出率,在不同时间和空间中执行变换前、后 的程序,通过对执行结果进行比较检出数据流错误;而控制流校验是通过在编译 时对程序进行控制流分析,按照一定的算法为程序的每个基本块静态地生成数字 签名并存储在该基本块中,在程序动态运行时根据同样的算法为每个基本块动态 地重新生成数字签名,通过和原数字签名进行比较检出控制流错误。 采用软加固技术发现单粒子翻转造成的瞬时故障后如何从故障中恢复仍是需 要研究的问题,这包括故障的定位和故障的恢复两个方面。 在普通计算机的操作系统中,采用进程机制执行应用程序。每个进程具有独 立的地址空间,每个应用程序的操作限制在进程的地址空间里,既不能访问系统 空间,也不能访问其他应用程序的空间。因此,一个应用程序中发生的故障或错 误不会影响到其他应用程序和操作系统,从而使得系统故障能够定位到相应的应 用程序。 在星载计算机系统及其他嵌入式系统中,由于嵌入式环境和应用任务实时性 的限制,通常将应用任务与操作系统放在同一个地址空间中运行,以便节省因为 在不同地址空间之间进行转换而产生的时间和空间的开销。此时,将内存视为单 一的、扁平的地址空间进行管理,包括操作系统内核、网络协议栈、设备驱动程 序、应用程序等在内的软件在同一地址空间运行,任何一部分程序发生的故障都 可能影响到其他部分。因此,星载计算机系统的软件故障定位必须考虑其他的角 度与实现方法。 在普通计算机的操作系统中,当进程或系统出现故障时,通常采用检查点技 术实现故障恢复。例如w i n d o w s 系统中的系统还原技术采用了类似的机制。检查 点技术是指,在系统运行过程中,由用户指定或者系统自主设置,完成对进程或 系统当前运行状态的保存,即保存进程或系统当前的内存空间映像,称之为检查 点。当进程或系统发生故障时,从已保存的检查点恢复进程或系统的运行状态, 即让进程或系统从检查点的位置恢复正常的执行。 第3 页 国防科学技术大学研究生院硕士学位论文 但是,在星载计算机系统中,由于所有应用任务与操作系统内核工作在同一 地址空间,无法严格区分每个应用任务的内存空间映像,而保存整个内存空间映 像将产生巨大的时间和空间的开销。因此传统的检查点还原技术不能适用于。而 对于系统的重启故障恢复【4 】,一方面将中断星载计算机的正常工作,不能轻易使用 星载计算机系统,需要研究新的、高效的故障恢复机制。 综合上述分析,一般操作系统中通常采用的进程机制等故障隔离定位技术以 及检查点等故障恢复技术,在星载计算机中变得不再适用,需要从不同的方面和 不同的途径,研究适应星载计算机系统的、新的故障恢复技术。本文基于操作系 统中的动态模块加载机制,从动态模块的角度研究星载计算机系统的可靠性增强 问题,为实现星载计算机软加固中的故障恢复提供支持,从而为星载计算机系统 的可靠性增强提供一种新途径。 1 1 3 基于动态加载机制增强星载计算机的可靠性 动态加载机制是操作系统中广泛采用的一种软件加载方式,它强调将应用和所 需的代码库分离,只有当需要时才从文件系统中加载目标代码,强调运行时加载 1 6 1 1 2 2 1 。本文利用动态加载机制,构建基于模块的嵌入式软件结构,能够解决星载 计算机存储资源受限的问题。一般来说,普通的嵌入式系统开发时需要把应用所 需的所有库编译进系统,启动时一次全部加载到内存中。而按模块组织星载计算 机的软件系统,利用动态加载机制,把暂时无需调用的模块先存放在外存设备上, 需要时再进行加载,能够在节约嵌入式系统的内存空间的同时降低系统耗能。并 且,当模块被判定不再使用时,可以进行卸载,回收内存空间,这对内存资源紧 张的星载系统十分必要。此外,在系统运行时将程序读入内存,还能够使星载计算 机的软件系统配置变得更加灵活,以支持其他各种功能和应用设计。 更为重要的是,动态加载机制可以作为系统技术之一,为星载计算机的故障检 测和恢复机制提供一系列支持。具体包括: 1 ) 单粒子翻转故障恢复。单粒子翻转是一种瞬时故障,能够通过对故障内存 单元重写实现故障的恢复。利用动态加载机制不仅有助于系统确定重写的内存区 域,还能够通过在系统运行时动态加载模块到内存空间,实现这一内存的重写过 程。 2 ) 重启自动恢复。系统的重启是解决一些软件和硬件故障的最终手段,但是 重启前系统的动态配置将在重启后丢失,需要实现相应的恢复机制。通过动态加 载机制能够将故障的恢复转换为模块的自动加载,从而提高系统的恢复效率。 3 ) 星载计算机的故障检测。星载计算机的故障检测流程通常是循序渐进的, 针对不同的检测结果产生下一步的检查方案。将不同的检测方案以模块的形式存 第4 页 国防科学技术大学研究生院硕十学位论文 储在文件系统中,通过动态加载机制进行动态的调用,而不需要将所有策略同时 读入内存,能够有助于星载计算机的可靠运行,提高检测效率。 4 ) 设备容错运行。星载计算机在运行中可能发生各种设备故障,但是远离地 面的太空环境使得设备的维护和更换变得特别困难。通过动态加载机制一方面能 够支持系统能够切换到冗余设备,继续正常工作;另一方面,对于无法替换的设 备,执行尽量运行的容错策略,隔离设备故障,保证其他任务的正常运行。 除此之外,通过动态加载机制引入基于模块的软件设计,还能够用以实现其它 可靠性设计策略,增强星载计算机的扩展性。主要包括: 1 ) 软件系统的动态配置与升级。星载计算机在运行中有动态配置与升级的需 求,然而在通常的嵌入式系统设计中,软件系统固化在外存中,在运行时不能发 生任何更改,难以应对复杂多变的系统任务。通过动态加载机制能够构建基于模 块的软件系统结构,从模块的角度出发,实现系统的动态配置与升级【2 引。 2 ) 任务的动态定制。针对星载计算机的动态任务需求,基于动态加载机制为 系统带来的灵活性,能够实现相应的任务动态定制技术,支持系统的动态扩展。 综上所述,动态加载机制能够在满足星载计算机资源受限的约束条件下,支 持星载计算机的容错设计和动态配置,能够在不影响其它可靠性设计的基础上, 为星载计算机提供额外的可靠性增强支持。 1 2 本文主要工作 本课题来源预研项目,该项目主要研究如何通过软件技术检出单粒子效应引 发的故障,本硕士课题一方面研究通过基于模块的动态加载机制实现与之配合的 恢复技术,共同完成c o t s 芯片的软加固过程;另一方面,充分挖掘动态加载的 优点,研究从多种途径提高星载计算机可靠性的方法。 本文主要的研究工作如下: 1 分析星载计算机的可靠性需求和嵌入式操作系统中动态加载技术的特点, 探讨利用动态加载增强星载计算机可靠性的途径; 2 提出通过动态加载机制构建基于模块的嵌入式软件系统结构,讨论需要解 决的关键技术; 3 通过分析v x w o r k s 嵌入式操作系统的源码,改造v x w o r k s 动态加载机制, 设计并实现一个动态模块管理系统; 4 研究并实现支持单粒子翻转故障恢复的模块重载技术; 5 研究和实现基于动态加载机制的其它各项可靠性增强技术,包括针对系统 重启恢复的重启模块自动加载技术,支持系统动态升级的模块动态替换以 及增强系统扩展性的任务动态管理技术。 第5 页 国防科学技术大学研究生院硕士学位论文 1 3 论文结构 本文共分六章,各章内容如下: 第一章为绪论部分,主要介绍了课题的应用背景和本文的主要研究内容; 第二章分析了星载计算机的软件系统特点,基于模块的嵌入式软件系统结 构,探讨了通过动态加载模块技术支持单粒子翻转故障恢复的可行性,并对相 关的模块管理等关键技术进行了讨论; 第三章首先介绍了v x w o r k s 开发方法,讨论了v x w o r k s 中动态加载的作用, 且p j n 速调试开发的进程;并且通过源码分析深入剖析v x w o r k s 动态加载的过 程、特点和相关的局限性,对其进行扩展,实现了动态模块管理系统,管理和 维护动态加载模块之间的依赖关系,保证模块能够被正确加载调用和卸载。 第四章在上一章实现的动态模块管理系统基础上,实现了几项支持星载计 算机可靠性增强的技术,包括支持软加固技术中单粒子翻转内存故障恢复的模 块重载技术、支持系统动态配置与升级的模块动态替换技术、支持系统故障重 启恢复的模块自动加载技术,以及星载计算机运行时的任务动态管理技术,最 后讨论了其它几项增强星载计算机可靠性的方案。 第五章设计了一个典型场景,首先对动态模块管理系统进行了正确性验证, 然后通过几个实例论证了基于该管理系统的几项可靠性增强技术的有效性; 第六章总结已经完成的工作,并探讨了进一步的研究工作和设想。 第6 页 国防科学技术大学研究生院硕十学位论文 第二章模块化结构的星载计算机软件系统 星载计算机是工作在太空环境下的一类嵌入式系统,本章通过分析星载计算 机软件系统和一般嵌入式软件系统的区别,讨论通过动态加载机制构建基于模块 的软件系统结构以及将它应用于实际的可靠性设计需要解决的关键技术。 2 1 星载计算机的软件系统特点 嵌入式系统由软件和硬件两个部分组成。嵌入式系统软件技术的发展,大致经 历了以下四个阶段【h 儿2 6 j 。 第一阶段是针对简单的芯片,通过汇编语言编程对系统进行直接控制。在这一 阶段,嵌入式系统的设计目的比较单一,主要用于一些专业性极强的工业控制系 统,因此硬件组成比较简单。软件系统的开发目的是通过控制电路工作完成基本 的信号转换处理以配合监测、伺服、指示等设备工作,对硬件的依赖性比较大。 第二阶段是以嵌入式c p u 为基础,以简单的操作系统为核心,增加了对应用 程序和系统状态的管理。这一阶段的嵌入式系统通常配有相应的仿真器,具有一 定的兼容性和扩展性。这时的操作系统对处理器的依赖性仍然比较强,而且用户 界面不够友好。 第三阶段基于通用的嵌入式实时操作系统。这一阶段的操作系统能运行于各种 不同类型的微处理器上,兼容性比较好;操作系统采用精小、效率高的内核,并 且具有高度的模块化和扩展性;支持文件系统、多任务、网络通信以及用户界面 等多种功能;提供给用户的开发接口比较丰富,开发应用程序简单。 第四阶段是以面向i n t e m e t 为标志,针对因特网和特定应用,在生活和商业等 领域普及,具备更加广阔的发展前景。 星载计算机中的软件系统,目前主要处于上述发展中的第三阶段,由通用嵌入 式实时操作系统和应用程序组成。和一般的嵌入式系统相比,星载计算机远离地 面工作,运行环境恶劣,设计时需要考虑更多的因素,星载计算机的软件应当具 备以下特点: 1 ) 体积小。星载计算机上的软件系统有别于一般的处理系统,它不具备像硬 盘那样大容量的存储介质,而大多使用闪存作为存储介质。嵌入式操作系统只能 运行在有限的内存中,一般不使用虚拟内存,中断的使用也受到限制。因此,嵌 入式软件系统必须结构紧凑,体积微小; 2 ) 可靠性强。星载计算机远离地面工作,一旦发生故障,无论是检测还是修 复都比一般地面嵌入式系统更加困难。因此,对于软件系统的设计,可靠性是一 个重要的指标。星载计算机的软件系统在开发时需要经过更加严格的测试,在设 第7 页 国防科学技术大学研究生院硕士学位论文 计时也应当考虑完备的容错策略,例如故障的隔离和恢复; 3 ) 支持交互和动态配置。许多专业嵌入式系统一旦开始运行就不需要用户过 多的干预,而星载计算机管理航天设备的基本状态,在特定时刻需要和地面进行 交互,并且支持运行中的动态配置,例如通过地面指令遥控变轨、调整姿态等。 在航天设备高速发展的今天,星载计算机的功能需求越来越复杂,软件系统 的设计在整个系统的开发中所占比例也越来越大。星载计算机软件系统的设计不 仅专业性要求比较高,而且具有体积小、强实时、高可靠以及良好的交互性等要 求。本文拟研究基于动态加载机制支持星载计算机的可靠性增强,首先要研究嵌 入式软件系统的构建方式。 2 2 嵌入式软件系统的构建方式 如2 1 节所述,星载计算机中的软件系统由操作系统和应用软件两部分组成。 嵌入式操作系统经历了从无到有、从专用到通用性设计的过程。处于第二阶 段的嵌入式软件系统结构已经基于操作系统进行设计,由操作系统提供应用任务 管理调度和硬件设备管理等基础功能,提供系统调用接口给用户,减轻了嵌入式 应用程序的开发负担,开发效率得到了提高。但是这时候的操作系统仍然依赖于 目标处理器进行设计,兼容性和扩展性仍然比较差。 随着嵌入式技术的发展,基于模块设计的通用嵌入式操作系统被提出。在这 种嵌入式操作系统中不仅将硬件相关部分从系统中独立出来,而且更进一步将如 内存管理、通信协议、文件系统等功能组件模块化,只保留微内核实现如线程管 理、地址空间和进程间通信等基本功能。用户在开发时可以通过图形化的开发界 面进行选择,根据需要加入相应功能【l4 。这种通用嵌入式系统设计既使得软件系 统能够做到和硬件并行开发,真正缩短了开发周期,也使得软件更加独立而便于 移植:同时,基于模块化的设计使得用户能够摈弃不必要的功能组件,减小最终 软件系统的大小,从而节约系统资源;并且,通用的模块接口,有助于模块的进 一步开发设计,帮助软件系统拥有更好的扩展性。 这种模块化的思想不仅能够在操作系统中实现,在嵌入式应用软件的设计中 同样能将应用按模块的形式划分,具体分为应用任务模块与共享模块两类,共享 模块层中的模块以共享库的形式对外提供功能函数接口,由最终的应用任务模块 进行调用,支持系统中任务运行。 如图2 1 所示,由微内核与系统功能模块构成操作系统层,将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论