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

一、软件容错技术

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

1-1、容错软件的定义

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

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

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

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

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

1-2、容错的一般方法

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

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

(1)结构冗余。

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

(2)信息几余。

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

(3)时间冗余。

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

(4)冗余附加技术。

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

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

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

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

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

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

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

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

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

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

二、真题

真题1:

真题2:

真题3:

相关推荐
J先生x几秒前
【IP101】图像处理进阶:从直方图均衡化到伽马变换,全面掌握图像增强技术
图像处理·人工智能·学习·算法·计算机视觉
虾球xz4 小时前
游戏引擎学习第268天:合并调试链表与分组
c++·学习·链表·游戏引擎
Y3174294 小时前
Python Day23 学习
python·学习
song_ly0015 小时前
深入理解软件测试覆盖率:从概念到实践
笔记·学习·测试
DIY机器人工房6 小时前
[6-2] 定时器定时中断&定时器外部时钟 江协科技学习笔记(41个知识点)
笔记·stm32·单片机·学习·江协科技
海尔辛6 小时前
学习黑客5 分钟小白弄懂Windows Desktop GUI
windows·学习
DanB247 小时前
Java笔记4
java·开发语言·笔记
烟雨迷8 小时前
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
linux·服务器·学习·编辑器·vim
@十八子德月生8 小时前
8天Python从入门到精通【itheima】-1~5
大数据·开发语言·python·学习
UpUpUp……9 小时前
Linux--JsonCpp
linux·运维·服务器·c++·笔记·json