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

一、软件容错技术

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

1-1、容错软件的定义

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

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

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

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

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

1-2、容错的一般方法

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

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

(1)结构冗余。

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

(2)信息几余。

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

(3)时间冗余。

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

(4)冗余附加技术。

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

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

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

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

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

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

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

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

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

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

二、真题

真题1:

真题2:

真题3:

相关推荐
Nuanyt8 小时前
LeetCode Hot 100 链表专题2 3 题 (Java)
java·笔记·算法·leetcode·链表
asaotomo8 小时前
截图识题、AI 讲解、笔记沉淀:Chrome 扩展体验
前端·chrome·笔记
熊猫钓鱼>_>8 小时前
鸿蒙PC高分屏与键鼠交互适配:DPI缩放、右键菜单一次讲清
开发语言·笔记·华为·ai编程·harmonyos·鸿蒙·鸿蒙心迹
H_BB9 小时前
面试笔记:数据加密和心跳机制
笔记·面试·职场和发展
海绵宝宝转agent9 小时前
LeetCodehot100题解
java·笔记·学习·算法·leetcode·深度优先
芒果作者9 小时前
我决定系统学习 Codex,并建立一套自己的知识库
学习
2601_961146209 小时前
实验室等离子表面处理设备安全整改记录:通风、UV、接地三项
笔记·安全·uv
ACP广源盛1392462567310 小时前
高速 USB 切换方案选型笔记:10Gbps 全通道同步开关 LH6828@ACP 评估
笔记·硬件架构·国产芯片
代码山河19 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
sbjdhjd20 小时前
网工进阶笔记:H3CSE 园区网全栈技术与协议汇总
网络·笔记·云计算·ssh·网络工程·vlan·aaa