软考139-上午题-【软件工程】-软件容错技术

一、软件容错技术

提高软件质量和可靠性的技术大致可分为两类,一类是避开错误,即在开发的过程中不让差错潜入软件的技术;另一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术。

1-1、容错软件的定义

归纳容错软件的定义,有以下4种:

(1)规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称该软件为具有容错功能的软件,即容错软件。

(2)规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为容错软件。

(3)规定功能的软件,在因错误发生错误时仍然能在一定程度上完成预期的功能,则称该软件为容错软件。

(4)规定功能的软件,在一定程度上具有容错能力,则称该软件为容错软件。

1-2、容错的一般方法

实现容错的主要手段是冗余。冗余是指对于实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。由于加入了这些资源,有可能使系统的可靠性得到较大的提高。通常,冗余技术分为4类:

  • 结构冗余;
  • 信息冗余;
  • 时间冗余;
  • 冗余附加技术

(1)结构冗余。

结构冗余是通常采用的冗余技术,按其工作方法可以分为静态、动态和混合几余3种。

(2)信息几余。

为检测或纠正信息在运算或传输中的错误需外加一部分信息,这种现象称为信息冗余。

(3)时间冗余。

时间几余是指以重复执行指令或程序来消除瞬时错误带来的影响。

(4)冗余附加技术。

冗余附加技术是指为实现上述冗余技术所需的资源和技术,包括程序、指令、数据、存放和调动它们的空间和通道等。

1、屏蔽硬件错误的容错技术

在屏蔽硬件错误的容错技术中,冗余附加技术包括:

①关键程序和数据的冗余存储及调用。

②检测、表决、切换、重构、纠错和复算的实现。

2、屏蔽软件错误的容错系统

在屏蔽软件错误的容错系统中,冗余附加技术的构成包括:

①冗余备份程序的存储及调用。

②实现错误检测和错误恢复的程序。

③实现容错软件所需的固化程序。

二、真题

真题1:

真题2:

真题3:

相关推荐
Diamond技术流4 分钟前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
密码小丑5 分钟前
11月4日(内网横向移动(一))
笔记
斑布斑布7 分钟前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
鸭鸭梨吖1 小时前
产品经理笔记
笔记·产品经理
Chef_Chen1 小时前
从0开始学习机器学习--Day13--神经网络如何处理复杂非线性函数
神经网络·学习·机器学习
齐 飞1 小时前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
lulu_gh_yu1 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
丫头,冲鸭!!!2 小时前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
Re.不晚2 小时前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
听忆.2 小时前
手机屏幕上进行OCR识别方案
笔记