什么是程序容错性
所谓容错是指在故障存在的情况下计算机系统不失效,仍然能够正常工作的特性。容错即是Fault Tolerance,确切地说是容故障(Fault),而并非容错误(Error)。例如在双机容错系统中,一台机器出现问题时,另一台机器可以取而代之,从而保证系统的正常运行。在早期计算机硬件不是特别可靠的情况下,这种情形比较常见。现在的硬件虽然较之从前稳定可靠得多,但是对于那些不允许出错的系统,硬件容错仍然是十分重要的途径。
计算机系统的容错性通常可以从系统的可靠性、可用性、可测性等几个方面来衡量。可靠性对于火箭发射之类关键性应用领域来说尤为重要。而对于通用计算机来说,一个重要的指标就是系统的可用性。可用性是指在一年的时间中确保系统不失效的时间比率。可测性在容错系统的设计过程中也是一个非常重要的指标,如果我们无法对某个系统进行测试,又如何能保证它不出问题呢?此外还有MTBF(故障间的平均时间),即当系统正常运行后能坚持多长时间不失效。MTTR(故障修理的平均时间),即指系统要清除故障所需的时间。MTTR的大小直接影响着系统的可用性,而MTBF则反映了系统的可靠性。