文档介绍:一种基于VxWorks的星载计算机软件故障注入方法研究
王新升1, 黄振远2,梁斌2
(, 北京100083; , 哈尔滨 150001)
摘要: 给出了一种基于VxWorks的模拟单粒子效应的软件故障注入方法。该方法基于航天领域常用的多任务实时操作系统VxWorks,通过软件注入故障来模拟空间辐射环境引发的星载计算机硬件的单粒子事件。对软件故障注入的流程进行了详细说明,并在硬件开发平台上进行了验证。实验测试结果表明,该方法能够有效地对星载系统可靠性进行评测,并且具有操作简便、对目标系统影响小,不会对目标系统造成损伤等优点。
关键词: 软件故障注入;VxWorks;星载计算机
中图分类号: TP302 文献标识码: A
A Software-Implemented Fault Injection Method for On-puter Based on VxWorks
Wang Xinsheng 1, Huang Zhenyuan 2,Liang Bin2
(1. School of Astronautics, BeiHang University, Beijing 100083, China;
2. Space Intelligence System Institute, HarBin Institute of Technology, HarBin 150001,China.)
Abstract: A software-implemented fault injection method is introduced. It is used to simulate the single particle upset in the on-puter. The state flow of the fault injection method has been described detailedly and a fault injection experiment has been made. The experiment results show that software-implemented fault injection method is an easy, effective method, and it could be used to evaluate the on-puter fault tolerance capability.
Key words: software-implementation fault injection; VxWorks; on-puter
故障注入技术是评测星载计算机容错机制的一种有效方法。通过对注入故障后加速系统发生故障和失效的过程进行监测和分析,可获得对目标系统可靠性和容错特性的评测结果。本文针对星载系统可靠性评测的实际需求,给出了一种在VxWorks下模拟单粒子事件的软件故障注入方法。
故障注入方法的分类
目前,实现故障注入的方法有硬件故障注入、软件故障注入和仿真故障注入3 种。硬件故障注入是以物理手段直接将故障注入到目标系统的硬件中,通过附加硬件对目标系统的作用,使目标系统的正常硬件环境受到影响,从而产生故障。目前硬件实现的故障注入的研究大多集中于芯片管脚级,采用向管脚级施加电压、重粒子辐射或电磁干扰等手段将故障引入目标系统。该方法的主要优点是注入的故障接近实际情况,能够较好的模拟实际的硬件故障,并且实验过程中无需专门开发故障注入模型;其主要不足是实验装置复杂、费用高,且对目标系统硬件容易造成损伤等。仿真故障注入是通过利用某种标准硬件描述语言(如常用的VHDL)为测试系统建立硬件仿真模型,然后在模型内部插入故障注入单元来实现故障的注入。其优点是不需要任何特殊的硬件,对注入的故障可以精确地监控,不足是开发工作量大,需要建立详细的仿真模型。典型的基于模拟的故障注入工具有VERIFY,MEFIS2TO-C等[3]。
软件故障注入根据一定的故障模型,通过修改目标系统内存单元或处理器内部的寄存器值来模拟硬件故障的发生。其主要优点是无需复杂的实验装置,实现成本低,可在编译阶段和程序运行时注入故障等,主要不足是对目标程序的运行时间、占用空间等
造成影响。典型的软件故障注入工具有FERRARI、NFTAPE和Xception 等。比较而言, 软件实现的故障注入方法对目标系统的硬件环境没有损坏,能够方便地跟踪目标程序的执行,无需专用设备,方便、灵活。因此,近几年来软件故障注入方法成为了国内外验证容错系统可靠性的重点研究方法[1][2][4]。
基于VxWorks的软件故障注入方法
为模拟单粒子翻