铁路车站信号
2023-02-02
更新时间:2023-02-03 05:37:56作者:百科
[拼音]:jisuanji xitong kekaoxing
[外文]:reliability of computer system
指在规定条件下和给定时间内计算机系统正确运行(计算)的概率。通常可靠性用平均无故障间隔时间MTBF来表示,即系统能正确运行时间的平均值。正确运行用下列四个标准来判断:
(1)程序不为故障所破坏或停止;
(2)结果不包括由故障所引起的错误;
(3)执行时间不超过一定的限度;
(4)程序运行在允许的领域内。与计算机系统可靠性密切相关的还有系统的可维性和可用性。可维性是指系统可维修的状况,通常用平均修复时间MTRF来表征。可用性就是计算机系统的使用效率,并以系统在任意时刻能正确运行的概率来表示
计算机系统可靠性广义的含意包括可靠性、可用性和可维性,统称为计算机系统的可靠性指标。
随着计算机应用范围的日益扩大,尤其是实时控制的运用,对计算机系统提出了超过单纯靠元件和工艺所能达到的可靠性要求;有的系统可靠性指标虽然为元件和工艺所允许,但实现起来价格昂贵。另一方面,计算机本身的技术和理论的发展又为提高系统可靠性创造了新的条件。于是出现了容错计算的概念,尽管计算机硬件设备和软件设备出错,系统仍能正确执行特定算法(程序)。
计算机系统是由元件组成的。这里所说的元件含义广泛,既可指硬件的分系统、部件、设备、插板、组件、电阻、接插件等,又可指生产工艺如焊点、金属化孔等,还可指软件的文件、程序包、子程序等。系统的可靠性直接取决于元件的可靠性和元件之间的连接(拓扑)关系(见电子产品可靠性工程)。
计算机系统可靠性设计是计算机设计过程中必不可少的内容。高的可靠性指标靠容错和非容错两种方法来实现。
非容错法就是预先消除不可靠的因素,以保障可靠的计算方法,即在允许的成本范围内选择或者筛选出最可靠的元件,使用成熟可靠的连接装配技术,采取有效的措施屏蔽可能的外界干扰,例如用滤波消除电网干扰等。非容错法设计不能一次完成。在确定初步方案后,要利用已知或者预测到的元件和互连的可靠性来定量估算系统或者分系统的可靠性。另外还须对系统和分系统进行功能仿真和测试,以保证逻辑设计的正确性,最后完善系统的诊断测试。
容错法是针对计算机系统运算过程中出现的故障或者低可靠性元件所采取的系统性可靠措施。运行故障有三种类型:永久性失效、瞬间失效和外界干扰。根据故障失效的持续时间、影响范围和出现频率,选用不同的防护性冗余就是容错法的设计内容。容错设计是建筑在非容错设计基础上的,首先要对运行性故障进行调查分类,并确定其等级,然后针对不可靠因素及其程度采用各种有效的容错措施,包括附加硬件的硬件冗余、附加软件的软件冗余和重复操作的时间冗余,最后用分析或者实验的方法来验证容错的效果。
冗余技术是提高计算机系统可靠性的一项重要技术。计算机系统冗余类似于建筑结构中的冗余,允许一个或几个构件(元件)失效,而不损伤整个建筑。计算冗余包括静态和动态硬件冗余、软件冗余、时间冗余。
(1)静态硬件冗余:又称屏蔽冗余,它是通过附加元件的办法来屏蔽故障,使系统的功能不受影响。常见的静态硬件冗余有双工(同一种功能由二个元件并行承担)、模3表决冗余等。
(2)动态硬件冗余:这种冗余包括二个阶段,首先发现故障,其后消除故障而“复常”。在计算机系统中采用动态硬件冗余时,要求系统具有模块结构和检测故障的能力,例如设有自校验码,部件状态标志等。复常的措施可选用纠错装置(如海明校验)、部件切换以及系统适度降级重新组织好元件等技术。为了保证复常成功,还要求系统有一个高可靠性的硬核。硬核范围内的元件发生故障,将不能复常。
(3)软件冗余:用附加软设备的方法来达到容错的目的。与硬件冗余相比,其优点是能在硬件设计完成之后增加系统的容错功能。常用的软件冗余有关键程序或者数据多处存储、程序和微程序上附加测试手段,以及增设程序入口和出口点等。
(4)时间冗余:简称“复执”。在时间允许的条件下,通过重复执行以消除瞬时的偶然性故障是时间冗余提高可靠性的原理。复执允许在微动作、指令、程序段或者整个作业等各种级别上进行。选取复执方案取决于复执的再启动点、实现复执可付的代价(包括时间、硬件和软件),以及复执成功率等因素。
无论是硬件冗余、软件冗余,还是时间冗余,相互之间并不排斥,大多数的计算机系统具备多种冗余的特色──混合冗余。
计算机系统可靠性是计算机科学与技术的一个重要领域。它包括系统可靠性模型的建立、系统可靠性计算与分配、系统故障检测与诊断、容错计算、系统正确性证明等理论和技术。由于多机系统、网络系统、分布系统的涌现,互连和通路的可靠性将成为研究系统可靠性的重要课题。微程序、固件化、单片计算机的兴起又将进一步促进冗余技术和容错计算的发展,新的高级的可靠性措施必将大幅度地提高系统可靠性。自诊断、自修复、替代冗余、维修再入等技术的广泛使用,使计算机系统的可靠性分析越来越依赖于计算机。软件方面的正确性证明和冗余技术将会有所突破。