为了提高计算机系统的可靠性,人们通过长期的研究总结出了两种技术:避错技术和容错技术。
一、避免技术
避错技术试图构造一个不包含故障的完美系统,其手段是采用精确的设计和质量控制方法尽量避免把故障引入系统。避错系统对元器件的制造工艺、精确的阈值有很高的要求。实际上做到这点是不可能的,因此避错技术对系统的可靠性的提高受到很大的限制。
二、容错技术
容错是指当出现某些指定的硬件故障或软件故障时,系统仍能执行规定的一组程序,或者说程序不会因为系统故障而中止或被修改,并且执行结果也不包含系统故障引起的差错。容错的思想是在系统体系结构上精心设计,利用外加资源的冗余技术掩蔽故障带来的影响,从而自动恢复系统或达到安全停机的目的。
所以我们重点研究容错技术:
容错的目标是降低或者最小化故障对系统可用性、可靠性、安全性、持续性等得影响。
容错按系统级别划分,分为三个级别,硬件容错、软件容错以及系统容错。硬件容错常用的方法包括使用冗余、多备份技术、增加内存、能源系统冗余等。硬件错误通常能够够在两个物理机上进行隔离处理。软件容错主要是正对软件的鲁棒性特征进行增强。常见的方法有checkpoint/restart,recovery blocks,N-Version Programs等。对于系统容错,设计一个独立与目标系统的子系统,通过定义定义规则来容忍系统缺陷。对缺陷的处理,有以下几类技术:
大约 2 分钟