嵌入式系统可靠性设计案例分析

news2025/1/10 13:32:11

目录

案例

【题目】

【问题 1】(共 9 分)

【问题 2】(共 8 分)

【问题 3】(共 8 分)

【问题 1】解析

【问题 2】解析

【问题 3】解析

相关知识


案例

        阅读以下关于嵌入式系统可靠性设计方面的描述,回答问题 1 至问题 3。

【题目】

        某宇航公司长期从事宇航装备的研制工作,嵌入式系统的可靠性分析与设计已成为该公司产品研制中的核心工作,随着宇航装备的综合化技术发展,嵌入式软件规模发生了巨大变化,代码规模已从原来的几十万扩展到上百万,从而带来了由于软件失效而引起系统可靠性降低的隐患。公司领导非常重视软件可靠性工作,决定抽调王工程师等 5 人组建可靠性研究团队,专门研究提高本公司宇航装备的系统可靠性和软件可靠性问题,并要求在三个月内,给出本公司在系统和软件设计方面如何考虑可靠性设计的方法和规范。可靠性研究团队很快拿出了系统及硬件的可靠性提高方案,但对于软件可靠性问题始终没有研究出一种普遍认同的方法。

【问题 1】(共 9 分)

        请用 200 字以内文字说明系统可靠性的定义及包含的 4 个子特性,并简要指出提高系统可靠性一般采用哪些技术?

【问题 2】(共 8 分)

        王工带领的可靠性研究团队之所以没能快速取得软件可靠性问题的技术突破,其核心原因是他们没有搞懂高可靠性软件应具备的特点。软件可靠性一般致力于系统性地减少和消除对软件程序性能有不利影响的系统故障。除非被修改,否则软件系统不会随着时间的推移而发生退化。请根据你对软件可靠性的理解,给出表 3-1 所列出的硬件可靠性特征对应的软件可靠性特征之间的差异或相似之处,将答案写在答题纸上。

【问题 3】(共 8 分)

        王工带领的可靠性研究团队在分析了大量相关资料基础上,提出软件的质量和可靠性必须在开发过程构建到软件中,也就是说,为了提高软件的可靠性,必须在需求分析、设计阶段开展软件可靠性筹划和设计。研究团队针对本公司承担的飞行控制系统制定出了一套飞控软件的可靠性设计要求。飞行控制系统是一种双余度同构型系统,输入采用了独立的两路数据通道,在系统内完成输入数据的交叉对比、表决‘制导率计算,输出数据的交叉对比、表决、一输出等功能,系统的监控模块实现对系统失效或失步的检测与宠位。其软件的可靠性设计包括恢复块方法和 N 版本程序设计方法。请根据恢复块方法工作原理完成图 3-1,在(1)~(4)中填入恰当的内容。并比较恢复块方法与 N 版本程序设计方法,将比较结果(5)~(8)填入表3-2 中。

【问题 1】解析

        系统可靠性定义:系统在规定的时间内及规定的环境条件下,完成规定功能的能力,就是系统无故障运行的概率。

        系统可靠性包括:成熟性、容错性、易恢复性和可靠性的依从性4个子特性。

        提高可靠性的技术:
        (1)版本程序设计
        (2)恢复块方法
        (3)防卫式程序设计
        (4)双机热备或集群系统
        (5)冗余设计

补充知识

成熟性:成熟性是指系统避免因错误的发生而导致失效的能力;
容错性:容错性是指在系统发生故障或违反指定接口的情况下,系统维持规定的性能级别的能力;
易恢复性:易恢复性是指系统发生失效的情况下,重建规定的性能级别并恢复受直接影响的数据的能力;
依从性:可靠性的依从性是指系统依附于与可靠性相关的标准、约定或规定的能力。

【问题 2】解析

        本问题主要要求考生在理解软件的特殊性基础上,深刻认识软件可靠性一般是致于系统性地减少和消除对软件程序性能有不利影响的系统故障。除非被修改,否则软系统不会随着时间的推移而发生退化。在掌握这一特征的基础上,可以回答硬件可靠特征与其对应的软件可靠性特征之间的差异或相似之处。

        答案:

        (1) 不考虑软件演化的情况下,失效率在统计上是非增的
        (2) 如果不使用该软件,永远不会发生失效
        (3) 软件维护会创建新的软件代码
        (4) 软件失效之前很少会有报警

【问题 3】解析

        软件的可靠性设计主要包括了恢复块和N版本程序设计两种方法,如果考生对这两种方法有所了解,则可很容易地进行判断。
        恢复块方法是一种反向恢复的方法,其核心原理是:对于可靠性要求高的软件,在程序运行的某时刻,将数据或程序进行备份,一旦发现主程序块有异常发生时,可将已备份的数据或程序进行恢复,保证程序的正确性。基于这样的原理,显然(1)处是主块,而(2)处将是对正确性进行检验测试判断,一旦判断正确,(3)处将是“输出正确结果”,以此类推,显然(4)处是进入“异常处理”了。
        如果考生能够答对第一问,说明考生已掌握恢复块与N版本两种方法,那么,填写第二问的空应该没问题的。在表 3-2 已经给出了两种方法适应的硬件环境,也就是说:恢复块方法的使用必然是单机环境,而N版本方法必然要使用多机环境。理解了环境需求,那么多机余度工作方式,必然采用“表决”(5)方式进行容错;同时不难分析出 N 版本的工作原理是向前恢复,恢复快则是反向恢复(6);由于恢复快方法是反复寻找正确的备份块,而N版本方法则是多个机器同时计算同样内容,表决完后即可给出正确结果,这样,恢复快方法相比N版本方法显然实时性差(7),而N版本方法显然好(8)于恢复快方法。

        答案:

        1.恢复块方法:
        (1)主块
        (2)验证测试
        (3)输出正确结果
        (4)异常处理
        2.恢复块方法与 N 版本程序设计的比较
        (5)表决
        (6)反向恢复
        (7)差
        (8)好

相关知识

【系统架构设计师】十三、软件可靠性(基本概念|软件可靠性建模)-CSDN博客文章浏览阅读1.2k次,点赞14次,收藏18次。软件可靠性是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。软件可靠性和硬件可靠性区别: (1)复杂性:软件复杂性比硬件高,大部分失效来自于软件失效。 (2)物理退化:硬件失效主要是物理退化所致,软件不存在物理退化。 (3)唯一性:软件是唯一的,每个COPY版本都一样,而两个硬件不可能完全一样。 (4)版本更新周期:硬件较慢,软件较快。https://shuaici.blog.csdn.net/article/details/140492470【系统架构设计师】十三、软件可靠性(软件可靠性管理|软件可靠性设计|软件可靠性测试与评价)-CSDN博客文章浏览阅读787次,点赞25次,收藏11次。提高系统可靠性的技术可以分为避错(排错)技术和容错技术。避错是通过技术评审、系统测试和正确性证明等技术,在系统正式运行之前避免、发现和改正错误。容错是指系统在运行过程中发生一定的硬件故障或软件错误时,仍能保持正常工作而不影响正确结果的一种性能或措施。容错技术主要是采用冗余方法来消除故障的影响。软件容错技术主要包括恢复块方法、N版本程序设计、防卫式程序设计和冗余设计等多种方法。https://shuaici.blog.csdn.net/article/details/140516798

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2040630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

H7-TOOL混合脱机烧录以及1拖4不同的通道烧录不同的程序操作说明(2024-08-07)

【应用场景】 原本TOOL的1拖4是用于同时烧录相同程序给目标板,但有时候一个板子上有多个不同的MCU, 客户希望仅通过一个TOOL就可以完成对板子上多个MCU的烧录,也就是1拖4不同的通道烧录不同的程序,此贴为此制作。 【实验目标】…

Android+Jacoco+code-diff全量、增量覆盖率生成实战

背景 主要是记录下Android项目使用jacoco生成代码覆盖率的实战流程,目前已完成全量覆盖方案,仅使用jacoco就能实现; 由于我们的Android端是使用Java和kotlin语言,目前增量的方案code-diff仅针对Java代码,卡在kotlin文件的分析&am…

java 面试 PDF 资料整理

“尊贵的求知者,作者特此献上精心编纂的Java面试宝典PDF,这份资料凝聚了无数面试精华与实战经验,是通往Java技术殿堂的钥匙。若您渴望在Java编程的求职之路上稳健前行,只需轻轻一点,完成这象征支持与认可的一键三联&am…

Dubbo源码深度解析(五)

上一篇博客主要讲服务提供方服务的发布,以及Netty是如何启动的,客户端发过来的请求,会经过哪些处理器,以及补充之前没讲完的SPI机制等等。这篇博客将会接着继续讲,在看这篇博客之前,请先看上一篇博客&#…

VTK—vtkStructuredGrid提取维度面数据

1.在VTK自带的vtkStructuredGrid数据文件combq.bin和combxyz.bin 2.文件读取代码如下: //读取数据文件Create(vtkMultiBlockPLOT3DReader, reader);reader->SetXYZFileName("G:/Temp/vtkTest/combxyz.bin");reader->SetQFileName("G:/Temp/v…

Vitis AI 基本认知(训练过程)

目录 1. 目的 2. TensorBoard 2.1 In TensorFlow 2.2.1 安装 TensorBoard 2.2.2 导入必要的库 2.2.3 初始化 2.2.4 记录数据 2.2.5 启动 TensorBoard 2.2.6 刷新间隔 2.2 In PyTorch 3. 训练周期 Epoch 3.1 Epoch 3.2 Batch 3.3 Iteration 4. 总结 1. 目的 介绍…

传奇游戏发布渠道

传奇游戏发布渠道 回答:游戏发布平台|手机游戏发布平台 传奇游戏发布渠道作为游戏开发商直接控制的信息传播途径,其安全性自然有着较高的保障。首先,渠道通常会采用先进的加密技术和安全协议来保护数据传输过程中的安全,防止信息…

Centos 7 升级GCC时遇到 mirrorlist.centos.org; Unknown error“

问题描述 在执行如下操作的时候, yum install devtoolset-9-gcc devtoolset-9-gcc-c devtoolset-9-binutils 出现: 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error" 网上搜索了一下,原因是 mir…

redis集合若干记录

无序集合 redis通常使用字典结构保存集合数据,字典健存储集合元素,字典值为空。如果一个集合全为整数,使用字典就有点浪费了,redis使用intset保存。 插入元素到intset中 获取插入元素编码,如果插入元素编码级别高于int…

Chapter 36 PySpark数据计算

欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能! 文章目录 前言一、map算子二、flatMap算子三、reduceByKey算子四、filter算子五、distinct算子六、sortBy算子七、综合案例 前言 在大数据处理的时代,Apache Spark以其高…

猫头虎 分享:Python库 Pygame 的简介、安装、用法详解入门教程

猫头虎 分享:Python库 Pygame 的简介、安装、用法详解入门教程 😺 摘要:今天,猫头虎将带大家深入了解Python中常用的Pygame库。Pygame是开发2D游戏和多媒体应用的首选工具之一。在本文中,我们将从安装Pygame、了解Pyg…

深入学习零拷贝

在学习中遇到了一个问题就是什么是零拷贝,因此学习之后以此来记录一下。 零拷贝、直接I/O、异步I/O等,优化的目的就是为了提高系统的吞吐量,减少访问磁盘次数。访问磁盘的速度会比读写内存会慢十倍以上。因此就需要提高它的读写速度。 什么…

uniapp自定义请求头信息header

添加请求头:uniapp自定义请求头信息header 代码

Java性能优化之并发编程:深入解析与实战技巧

在Java应用程序的性能优化中,并发编程是一个关键领域。通过合理使用并发编程技术,可以充分利用多核CPU的计算能力,提高程序的执行效率。本文将深入探讨Java并发编程的优化策略,并提供一些实用的代码示例和实战技巧。 1. 线程与同…

Linux Day1 系统编程和文件操作

系统编程内容 文件I/O (输入/输出): 1)使用标准库函数如fopen, fclose, fread, fwrite, fgetc, fputc, fgets, fprintf, fscanf等进行文件操作。 2)使用open, close, read, write等系统调用来实现底层文件操作。 进程管理: 1)使用fork, e…

力扣 3152. 特殊数字Ⅱ

题目描述 queries二维数组是nums数组待判断的索引区间(左闭右闭)。需要判断每个索引区间中的nums相邻元素奇偶性是否不同,如果都不同则该索引区间的搜索结果为True,否则为False。 暴力推演:也是我最开始的思路 遍历q…

招聘技术研发类岗位,HR会考察候选人哪些方面?

技术研发团队在当下的企业视为发展的核心,对于企业长期发展和市场竞争力至关重要,作为HR,如何选拔技术研发岗位的人才,也是难度较大的工作。 作为应聘者来说,同样应该主动去了解HR是如何考察技术性人才,以…

使用docker部署rabbitmq集群

部署环境准备 192.168.81.128 rabbitmq-1 192.168.81.129 rabbitmq-2 192.168.81.130 rabbitmq-3 首先创建挂载目录(三个节点都创建) systemctl stop firewalld && setenforce 0 关闭防火墙和selinux mkdir /data/rabbitmq -p cd /da…

加和分数、训练、测试

一、加和所有alignment的分数 1、路线图中 2、l_i只与token有关,有一个专门训练的网络;h_i变化只与null有关 3、distribution生成的概率不受路径影响,只要到达位置概率就是一样的 4、计算alignment分数的总和 (1)αi…

Word转html并移植到web项目

1.打开对应word文件 建议使用web视图查看文档 这样可以提前预览转转成html样式 2.如果有图片修改图片大小及格式 在web视图下,把图片调制适当大小,不然导出的html可能图片较小 3.点击另存为 4.选择网页格式,同时将后缀修改为html(默认是h…