免费智能真题库 > 历年试卷 > 系统分析师 > 2015年上半年 系统分析师 上午试卷 综合知识
  第33题      
  知识点:   软件容错   容错   软件容错技术
  关键词:   容错        章/节:   系统配置与性能评价       

 
以下不属于软件容错技术的是()。
 
 
  A.  热备份或冷备份系统
 
  B.  纠错码
 
  C.  三模冗余
 
  D.  程序走查
 
 
 

   知识点讲解    
   · 软件容错    · 容错    · 软件容错技术
 
       软件容错
        软件容错的主要目的是提供足够的冗余信息和算法程序,使系统在实际运行时能够及时发现程序设计错误,采取补救措施,以提高软件可靠性,保证整个计算机系统的正常运行。软件容错技术主要有恢复块方法、N版本程序设计和防卫式程序设计等。
               恢复块方法
               恢复块方法是一种动态的故障屏蔽技术,采用后向恢复策略,如下图所示。它提供具有相同功能的主块和几个后备块,一个块就是一个执行完整的程序段,主块首先投入运行,结束后进行验证测试,如果没有通过验证测试,系统经现场恢复后由一后备块运行。这一过程可以重复到耗尽所有的后备块,或者某个程序故障行为超出了预料,从而导致不可恢复的后果。设计时应保证实现主块和后备块之间的独立性,避免相关错误的产生,使主块和后备块之间的共性错误降到最低限度。验证测试程序完成故障检测功能,它本身的故障对恢复块方法而言是共性,因此,必须保证它的正确性。
               
               恢复块方法N版本程序设计
               N版本程序设计是一种静态的故障屏蔽技术,采用前向恢复的策略,如下图所示。其设计思想是用n个具有相同功能的程序同时执行一项计算,结果通过多数表决来选择。其中n份程序必须由不同的人独立设计,使用不同的方法,不同的设计语言,不同的开发环境和工具来实现。目的是减少n版本软件在表决点上相关错误的概率。另外,由于各种不同版本是并行执行的,有时甚至在不同的计算机上执行,必须解决彼此之间的同步问题。
               
               N版本程序设计
               防卫式程序设计
               防卫式程序设计是一种不采用任何一种传统的容错技术,就能实现软件容错的方法,对于程序中存在的错误和不一致性,防卫式程序设计的基本思想是通过在程序中存储错误检查代码和错误恢复代码,使得一旦错误发生,程序能撤销错误状态,恢复到一个已知的正确状态中去。其实现策略包括错误检测、破坏估计和错误恢复三个方面。
               除上述三种方法外,提高软件容错能力亦可以从计算机平台环境、软件工程和构造异常处理模块等不同方面达到。此外,利用高级程序设计语言本身的容错能力,采取相应的策略,也是可行的办法。例如,C++语言中的try_except处理法和try_finally中止法等。
 
       容错
        提高计算机可靠性的技术可以分为避错技术和容错技术。避错是指预防和避免系统在运行中出错。容错是指系统在其某一组件故障存在的情况下不失效,仍然能够正常工作的特性。简单地说,容错就是当计算机由于种种原因在系统中出现了数据、文件损坏或丢失时,系统能够自动将这些损坏或丢失的文件和数据恢复到发生事故以前的状态,使系统能够连续正常运行。容错功能一般通过冗余组件设计来实现。计算机系统的容错性通常可以从系统的可靠性、可用性和可测性等方面来衡量。
        冗余技术是计算机容错技术的基础,一般可分为下列几种类型。
        (1)硬件冗余。以检测或屏蔽故障为目的而增加一定硬件设备的方法。
        (2)软件冗余。为了检测或屏蔽软件中的差错而增加一些在正常运行时所不需要的软件。
        (3)信息冗余。除实现正常功能所需要的信息外,再添加一些信息,以保证运行结果正确性的方法。纠错码就是信息冗余的例子。
        (4)时间冗余。使用附加一定时间的方法完成系统功能。这些附加的时间主要用在故障检测、故障屏蔽等方面。
        在20世纪60年代,主要利用双处理机或双机的方法来达到容错的目的。例如把关键的元件(处理机、存储器等)或整个计算机设置两套:一套在系统运行时使用,另一套用做备份。根据系统的工作情况又可分为热备份和冷备份两种。
        (1)热备份(双重系统):两套系统同时同步运行,当联机子系统检测到错误时,退出服务进行检修,而由热备份子系统接替工作。
        (2)冷备份(双工系统):处于冷备份的子系统平时停机,或者运行与联机系统无关的运算,当联机子系统产生故障时,人工或自动进行切换,使冷备份系统成为联机系统。在冷备份时,不能保证从程序端点处精确地连续工作,因为备份机不能取得原来机器上当前运行的全部数据。
        20世纪70年代中期出现了软件和硬件结构的容错方法。该方法在操作系统的层次上支持联机维修,即故障部分退出后运行、进行维修并重新投入运行都不影响正在运行的应用程序。该结构的特点是系统内包括双处理器、双存储器、双输入输出控制器、不间断工作的电源,以及与之适应的操作系统等。因此上述硬件的任何一部分发生故障都不会影响系统的继续工作。系统容错是在操作系统控制下进行的,在每个处理机上都保持了反映所有系统资源状态的表格,以及本机和其他处理机的工作进程。
 
       软件容错技术
        1)容错软件定义
        归纳容错软件的定义,有以下4种。
        (1)规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件,即容错软件。
        (2)规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称之为容错软件。
        (3)规定功能的软件,在发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。
        (4)规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。
        2)容错的一般方法
        实现容错的主要手段是冗余。冗余是指对于实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。由于加入了这些资源,有可能使系统的可靠性得到较大的提高。通常冗余技术分为4类,即结构冗余、信息冗余、时间冗余和冗余附加技术。
   题号导航      2015年上半年 系统分析师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第33题    在手机中做本题