故障容限是指当其中一个或多个组件出现故障时,该功能单元仍能继续在规定的执行水平运用的范围。
定义故障容限是在出现有限数目的硬件或软件故障的情况下,系统仍可提供连续正确执行的内在能力。故障容限越大,软件的容错能力就越强。
典型的故障容限设计当检测到故障时自动使备用系统进入在线状态。当电脑用于关键功能时故障容限的需求是无庸置疑的,例如导引飞机安全着陆或确保稳定药流输入病人。故障容限对非关键的日常应用也有好处。1
软件容错软件容错是容软件故障(主要是设计故障)的手段和方法,其目的是屏蔽软件故障,恢复因出故障而影响的运行进程。为了实现软件容错,一般都要使用某种形式的冗余,这种冗余既可以是设计(算法)冗余,也以是数据冗余。
实现软件容错的基本方法,是将若干个根据同一规格说明编写的不同程序(或程序块),在不同空间同时运行或在同一空间依次运行,然后在每一个预定的检测点上通过表决或接收测试进行裁决。在判明其正确或一致后接收这个结果,否则便加以拒绝,并作出报警。
容错软件是一个规定功能的软件,且:
(1)在一定程度上对自身故障的作用具有屏蔽能力;
(2)在一定程度上能从故障状态自动恢复到正常状态;
(3)在因软件缺陷而出故障时,能在一定程度上完成预期的功能;
(4)在一定程度上具有容错能力。2
相关概念故障(fault):元件或系统不能执行正常的功能则谓之出故障。
故障检测(fault detection):检测设备的正确性但不确定故障的部位,叫故障检测。
故障诊断(fault diagnosis):判断设备有无故障及并确定故障的部位,叫故障诊断。
故障定位程序(fault location program):查找故障所在及其类型的程序,是诊断程序的重要部分。
故障测试(fault testing):观察测试设备向逻辑电路输入端施加测试码的输出响应,以确定电路中是否有故障或指明故障的位置的过程为故障测试。
本词条内容贡献者为:
王慧维 - 副研究员 - 西南大学