实时容错嵌入式小卫星操作系统设计的研究
【摘要】:本文的主要工作是研究如何设计高可靠、高容错、可重组、软实时的分布
式的嵌入卫星操作系统,并在相关的软件工程领域进行必要的探索。
本文首先研究了小卫星操作系统的机构设计,在比较了大量的操作系统结
构模型的基础上,本文提出了采用微内核结构的小卫星操作系统结构设计思想。
采用微内核结构能够大大简化系统内核内部以及系统内核与应用之间的接口,
明显地降低模块之间调用的复杂性,从结构上保证了系统的高可靠性,并且具
有易于扩展等优点。
在完成了小卫星操作系统的结构设计后,本文开始了操作系统内部进程结
构和进程调度策略的设计,在研究了时间驱动和事件驱动的优点和缺陷之后,
本文提出了基于消息和定时任务处理的时间、事件混合驱动的抢占式卫星操作
系统设计思想。这种思想综合了时间驱动和事件驱动的好处,既不会在负荷突
然升高时造成失控,也不会降低关键任务的响应时间。另外,将一般消息和定
时任务消息在系统内部区分开来,既大大降低了系统调度时的CPU占用时间,
又降低了内部程序的复杂性,同时也充分适应了时间事件混合驱动的驱动方式,
并且进一步提高了系统内核的灵活性和可扩展性(后面的分布式通信设计中就
使用到了这一灵活性)。注入管理机制的引入为系统可靠性的提高打开了另外一
扇大门,它的引入使得系统能够在星上进程出现故障时,更新该进程,实现进
程的重组,或者在卫星的运行过程中,为卫星星载计算机系统增添新的功能。
由于小卫星操作系统是一个容错操作系统,本文用专门的章节讨论了小卫
星操作系统的容错设计,并提出了一种新的基于改进的级联相关构造学习算法
的星载软件故障易发模块的识别方法,这种方法简单、高效,与其它一些可能
方法如感知器法和高斯法相比具有收敛更快、结果更优等优点。能够在卫星软
件开发周期的早期阶段发现故障易发模块,这对于合理地分配软件开发人员,
降低软件开发成本,尽可能避免在软件开发的晚期不断返工具有较高的实用价
值。
目前小卫星采用双机系统,在未来充分降低成本之后可以采用灵活性更高
的工作方式,为此,本文研究分布式的星载软件系统。在单机星载软件系统的
基础上,利用系统微内核结构提供的灵活性,在内核消息管理中对应用程序透
明地加入分布式功能,利用因果定序和逻辑定序进行事件定序,并且提出了一
种新的分布式互斥与同步方法,该方法简便、易行,通过向各站点的互斥与同
步服务进程发送消息来实现,其应用范围并不仅限于星载计算机系统,可以被
任何一个分布式系统参考和采用。
多机分布式系统必然要求系统具有合理的任务分配功能,对于卫星来说,
任务基本上都是准静态确定的,一般不会动态地随机生成一个新任务,所以本
【
文最后研究了对通用操作系统几乎没什么意义但是对于卫星操作系统却有很大
实用价值的静态任务分配算法,提出了一种新的基于Hopfleld神经网络的静态
任务分配算法,对实际的应用结果表明该算法是一个快速、较优的实用算法。
另外,考虑到系统出现故障后可能出现的任务迁移问题,研究了卫星多机系统
故障任务迁移机制。该机制确保了一台单机发生故障时,系统能够在另一台单
机上迅速向后恢复到一个符合一致性要求的状态。
【相似文献】 | ||
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||
|
|
|||||||||||||||||||||
|
|
|||||||||||||||||||||
|
|
|||||||||||||||||||||
|