一、软件容错技术
提高软件质量和可靠性的技术大致可分为两类,一类是避开错误,即在开发的过程中不让差错潜入软件的技术;另一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术。
1-1、容错软件的定义
归纳容错软件的定义,有以下4种:
(1)规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称该软件为具有容错功能的软件,即容错软件。
(2)规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为容错软件。
(3)规定功能的软件,在因错误发生错误时仍然能在一定程度上完成预期的功能,则称该软件为容错软件。
(4)规定功能的软件,在一定程度上具有容错能力,则称该软件为容错软件。
1-2、容错的一般方法
实现容错的主要手段是冗余。冗余是指对于实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。由于加入了这些资源,有可能使系统的可靠性得到较大的提高。通常,冗余技术分为4类:
- 结构冗余;
- 信息冗余;
- 时间冗余;
- 冗余附加技术
(1)结构冗余。
结构冗余是通常采用的冗余技术,按其工作方法可以分为静态、动态和混合几余3种。
(2)信息几余。
为检测或纠正信息在运算或传输中的错误需外加一部分信息,这种现象称为信息冗余。
(3)时间冗余。
时间几余是指以重复执行指令或程序来消除瞬时错误带来的影响。
(4)冗余附加技术。
冗余附加技术是指为实现上述冗余技术所需的资源和技术,包括程序、指令、数据、存放和调动它们的空间和通道等。
1、屏蔽硬件错误的容错技术
在屏蔽硬件错误的容错技术中,冗余附加技术包括:
①关键程序和数据的冗余存储及调用。
②检测、表决、切换、重构、纠错和复算的实现。
2、屏蔽软件错误的容错系统
在屏蔽软件错误的容错系统中,冗余附加技术的构成包括:
①冗余备份程序的存储及调用。
②实现错误检测和错误恢复的程序。
③实现容错软件所需的固化程序。
二、真题
真题1:
真题2:
真题3: