以下不属于软件容错技术的是()。

2023-09-01

A. 热备份或冷备份系统
B. 纠错码
C. 三模冗余
D. 程序走查

参考答案:D

容错是指系统在运行过程中发生一定的硬件故障或软件错误时,仍能保持正常工作而不影响正确结果的一种性能或措施。容错技术主要是采用冗余方法来消除故障的影响。冗余是指在正常系统运行所需的基础上加上一定数量的资源,包括信息、时间、硬件和软件。主要的冗余技术有结构冗余(硬件冗余和软件冗余)、信息兀余、时间冗余和冗余附加4种。结构冗余是常用的冗余技术,按其工作方式,可分为静态冗余、动态冗余和混合冗余三种。静态冗余又称为屏蔽冗余或被动冗余,常用的有三模冗余和多模冗余。动态冗余又称为主动冗余,它是通过故障检测、故障定位及故障恢复等手段达到容错的目的。其主要方式是多重模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来顶替它并重新运行。各备用模块在其待机时,可与主模块一样工作,也可不工作。前者叫做热备份系统(双重系统),后者叫做冷备份系统(双工系统、双份系统)。混合冗余技术是将静态冗余和动态冗余结合起来。除冗余技术之外,软件容错技术还可采用N版本程序设计、恢复块方法和防卫式程序设计等。N版本程序设计是一种静态的故障屏蔽技术,采用前向恢复的策略;N版本程序的设计思想是用N个具有相同功能的程序同时执行一项计算,结果通过多数表决来选择。恢复块方法是一种动态的故障屏蔽技术,采用后向恢复策略;恢复块方法提供具有相同功能的主块和几个后备块,一个块就是一个执行完整的程序段,主块首先投入运行,结束后进行验证测试,如果没有通过验证测试,系统经现场恢复后由后备块1运行。后备块1运行结束后也进行验证测试,如果没有通过验证测试,系统经现场恢复后由后备块2运行。重复这一过程,可以重复到耗尽所有的后备块,或者某个程序故障行为超出了预料,从而导致不可恢复的后果。防卫式程序设计是一种不采用任何传统的容错技术就能实现软件容错的方法,对于程序中存在的错误和不一致性,防卫式程序设计的基本思想是通过在程序中包含错误检查代码和错误恢复代码,使得一旦发生错误,程序就能撤销错误状态,恢复到一个己知的正确状态中去。

相关推荐