冗余技术
提高系统可靠性的技术可以分为避错(排错)技术和容错技术。避错技术就是通过技术评审、系统测试和正确性证明等技术,保证系统不出现错误和异常。但是这样随着系统的功能逐渐增加,所以避错的技术不能满足需求。所以需要采用容错技术。
容错技术就是系统在运行过程中发生一定的硬件故障或者软件错误时,仍能保持正常工作而不影响正确结果的一种性能或者措施。容错技术主要是采用冗余技术来消除故障的影响。
冗余技术有结构冗余(硬件冗余和软件冗余)、信息冗余、时间冗余和冗余附加。
结构冗余包括静态冗余、动态冗余和混合冗余。
静态冗余就是通过表决和比较来屏蔽系统中出现的错误。其实就是相同的功能由不同的开发人员进行开发形成模块,并对运行的结果进行表决,以多数结果作为系统的最终结果。假如系统中出现一个错误的话,这个错误能够被其他模块的正确结果“屏蔽”。
动态冗余就是通过故障检测、故障定位及古战恢复等手段来进行容错。其过程就是采用热备份系统(双重系统)和冷备份系统(双工系统、双份系统)进行容错,即当系统中有一个模块出现错误的时候,另一个系统的备用模块就会替换运行,以保证系统的运行。但是这个动态冗余的问题就是在于不能取得原来机器上当前运行的全部数据,这样就不能保证从系统的断点出精确地连续工作。
混合冗余就是静态冗余和动态冗余的相结合,采取他们的优点进行使用。
信息冗余的主要任务就是研究出一套理想的编码和译码技术来提高信息冗余的效率,编码技术应用最广泛的就是奇偶校验码、海明校验码和循环冗余校验码。
时间冗余是以时间(即降低系统运行速度)为代价以减少硬件冗余和信息冗余的开销来达到提高可靠性的目的。时间冗余的思想就是重复多次进行相同的计算已达到故障检测的目的。时间冗余只能检测到瞬时性的故障而不宜检测永久性的故障。
冗余附加就是为了实现上述冗余技术所需的资源和技术,包括程序、指令、数据以及存放和调用他们的空间等。