niusouti.com

问答题嵌入式软件体系架构 博学公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能: ①设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构)。 ②应用软件应与硬件无关,便于软硬件的升级。 ⑨由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离。 ④宇航设备可靠性要求高,系统要有故障处理能力。 公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图12-7所示,并将软件设计工作交给了李工,要求其在3周内完成软件

题目
问答题
嵌入式软件体系架构 博学公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能: ①设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构)。 ②应用软件应与硬件无关,便于软硬件的升级。 ⑨由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离。 ④宇航设备可靠性要求高,系统要有故障处理能力。 公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图12-7所示,并将软件设计工作交给了李工,要求其在3周内完成软件总体设计工作,给出总体设计方案。 用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求①~④,说明架构中各层内涵。

相似考题

3.阅读以下有关嵌入式系统设计的说明,在答题纸上回答问题1至问题3。【说明】某公司承接了某机载嵌入式系统的研制任务。该机载嵌入式系统由数据处理模块、大容量模块、信号处理模块、数据交换模块和电源模块等组成。数据处理模块有2个,分别完成数据融合和导航通讯任务;大容量模块主要功能是存储系统数据,同时要记录信号处理模块、数据处理模块的自检测、维护数据,向数据处理模块提供地图数据;信号处理模块的处理器为专用的DSP,接收红外、雷达等前端传感器数据并进行处理,将处理后的有效数据(数据带宽较大)发送给数据处理模块;数据交换模块主要负责系统的数据交换;电源模块主要负责给其它模块供电,电源模块上没有软件。要求该机载嵌入式系统符合综合化、模块化的设计思想,并考虑系统在生命周期中的可靠性和安全性,以及硬件的可扩展性和软件可升级性,还要求系统通讯延迟小,支持多模块上的应用任务同步。【问题1】在设计系统架构时,李工提出了如图3-1所示的系统架构,即模块间的网络通信采用光纤通信(Fiber Channel,FC)技术,而王工认为应采用VME总线架构,如图3-2所示。王工的理由是公司多年来基于VME总线技术设计了多个产品,技术成熟,且费用较小。但公司经过评审后,决定采用李工的方案。请用500字以内的文字,说明VME和FC各自的特点,并针对机载嵌入式系统的要求,指出公司采用李工方案的理由。【问题2】公司依据ARINC653标准,设计了满足ARINC653标准的操作系统,该操作系统对系统中可能发生的模块级、分区级和进程级的错误进行处理,实现了如图3-3所示的系统健康监控机制,请分别将备选答案中的各种错误和健康监控部件填入图3-3中的(1)~ (5)。备选答案:分区健康监控、分区初始化阶段出现的分区配置错误、分区切换时出现的错误、应用进程错误、进程健康监控。注:ARINC653标准(Avionics Application Software Standard Interface)是美国航空电子工程协会AEEC于1997年为航空民用飞机的模块化综合航空电子系统定义的应用程序接口标准,该标准提出了分区( Partition)的概念以及健康监控(health monitoring)机制。分区是应用的一种功能划分,也是操作系统调度的基本单位,严格按预先分配的时间片调度。分区间具有时空隔离特点。分区内的每一执行单元称为进程。【问题3】为了实现满足ARINC653标准的操作系统的时空分区隔离机制,项目组选择了PowerPC作为数据处理模块的处理器(CPU)。这样,当一个分区出现故障时,不会蔓延到模块中同一处理器的其它分区。请用500字以内的文字,说明如何采用PowerPC实现应用与内核以及诸应用之间的隔离和保护。

更多“问答题嵌入式软件体系架构 博学公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能: ①设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构)。 ②应用软件应与硬件无关,便于软硬件的升级。 ⑨由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离。 ④宇航设备可靠性要求高,系统要有故障处理能力。 公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图12-7所示,并将软件设计工作交给了李工,要求其在3周内完成软件”相关问题
  • 第1题:

    阅读以下关于嵌入式实时操作系统软件的选型分析方面的叙述,回答问题1至问题3。

    某研究所承担了一项宇航嵌入式系统的研制任务,本项任务技术难度大、可靠性要求高、进度要求紧,预计软件规模约在一万行以上。而该所原先承担的相关项目均是用汇编语言编写的(软件规模较小,一般是几百行)。项目主管工程师将软件开发的论证工作分别布置给了王工和李工,要求他们根据本项目的技术要求,在一周内分别提出软件的实施方案。

    (1)该宇航嵌入式系统由数据处理机、信号处理机以及数据采集模块组成。信号处理机主要通过数据采集模块将大量不同时间周期的外部数据采集进来,进行预处理(如 FFT变换)后提交给数据处理机;数据处理机根据功能要求完成各种计算处理工作,并将结果输出。为了达到数据处理机和信号处理机的标准化,这两类处理机均采用同种处理机的体系结构(如PowerPC7410)。整个系统工作的最大周期为1s,最小周期为5ms。数据处理机上任务分布如下表所示。

    (2)一周后,王工和李工提交了各自的实施方案,其共同之处在于两者均提出采用操作系统及相应的软件开发环境。但是,王工和李工在选择什么样的操作系统及开发环境方面出现了较大的分歧。王工的实施方案提出,为了满足本项目的技术要求,并有利于本所软件的长期发展,应选用具有硬实时处理能力的嵌入式实时操作系统及开发环境 (例如VxWorks等):而李工的实施方案指出,操作系统主要完成对计算机资源的管理与分配工作,考虑到人们对操作系统及软件开发工具的熟悉程度,本项目应选用具有大众化的、软件开发人员容易上手的嵌入式操作系统(例如WindowsCE、Linux等)。

    (3)在两人争执不下的情况下,项目主管工程师组织了相关专家对王工和李工提交的实施方案进行了评审。最后,专家组一致认为王工的方案切实可行,操作系统的选型论证充分、客观,可以作为本所未来几年中相关项目的软件开发的基本环境。同时专家组还就具体实施选择嵌入式实时操作系统及开发环境产品时应着重考虑的相关问题提出了几点建议。

    为什么专家组一致认为王工的实施方案切实可行?请用200字以内文字简要说明。


    正确答案:[解答要点] 专家认为王工方案可行的主要理由如下: (1)宇航嵌入式系统是一种硬实时系统要求对外部事件做出快速响应(一般在毫秒级)因此硬实时操作系统在实时处理和相应的方面优于一般嵌入式操作系统故王工提出的选用具有硬实时处理能力的嵌入式操作系统方案可行; (2)从资源的约束性来讲宇航嵌入式系统由于受空间和重量的限制操作系统代码不宜过于庞大选择具有可剪裁功能的操作系统更适应本项目; (3)宇航嵌入式系统要求软件可靠性要高而王工选择的操作系统已经过相关部门验证其可靠性高于李工所选的操作系统。
    [解答要点] 专家认为王工方案可行的主要理由如下: (1)宇航嵌入式系统是一种硬实时系统,要求对外部事件做出快速响应(一般在毫秒级),因此,硬实时操作系统在实时处理和相应的方面优于一般嵌入式操作系统,故王工提出的选用具有硬实时处理能力的嵌入式操作系统方案可行; (2)从资源的约束性来讲,宇航嵌入式系统由于受空间和重量的限制,操作系统代码不宜过于庞大,选择具有可剪裁功能的操作系统更适应本项目; (3)宇航嵌入式系统要求软件可靠性要高,而王工选择的操作系统已经过相关部门验证,其可靠性高于李工所选的操作系统。 解析:随着微电子技术和计算机技术的发展,数字化和信息化成为目前各行各业大力发展的技术,嵌入式系统已被广泛应用到了军事、家电、工业控制和医疗等方面。作为嵌入式系统的核心支撑软件,嵌入式操作系统被各个领域广泛使用。
    嵌入式操作系统的使用与具体的应用方向紧密相关。目前,根据不同的应用领域,嵌入式操作系统分为嵌入式操作系统和嵌入式实时操作系统,实时又分为强实时和弱实时。在宇航系统中,由于航天航空飞行器速度非常快,需要各个控制设备应具有快速的反应和处理能力(一般工作周期为毫秒级),因此,根据本题的技术指标要求,应重点考虑强实时操作系统。
    第一步:总结出问题的要点。
    本题主要是围绕当前广泛使用的嵌入式实时操作系统这一应用背景来考虑的,考查相关领域考生对操作系统选型的几个技术点的掌握程度。作为系统分析师,在启动项目之前,应学会充分论证所需资源的保障问题,而操作系统是将开展的软件项目的核心基础,使用了良好的基础软件平台,可以大幅度提高软件开发效率,提高软件的可靠性。因此,本题的选用具有一定的普遍性。
    第二步:根据问题要点,仔细阅读正文,找出相应的段落。
    (1)本题第一段描述了问题所在,虽然估计到新项目程序代码将达到一万行(过去只有几百行),但这些数据在本题中没用实质性应用,只表明代码规模发生了实质性变化,这一点对选择使用操作系统具有一定的考虑因素。
    (2)本题的第二段值得关注,这实际上是所开发的宇航项目的技术需求,1s和5ms定义了该宇航项目系统的最小时间框架和最大时间框架,并给出了各个周期任务的需求参数,这一段是本题的重点。
    (3)三、四段主要描述了问题的讨论结果,考生可根据本题上述描述的需求内容,通过已掌握的有关嵌入式系统的特点,完成问题的正确判定。
    第三步:分析试题的内容,构思答案的要点。
    通过前两步的分析与归纳,强实时将是本题首要关注的选型内容之一;而可靠性则是宇航系统极为重要的考虑内容;可剪裁、开放和可扩展是嵌入式系统的公共特性。因此,问题1和问题2可通过对本题的理解而形成答案;问题3可基于考生对嵌入式系统理解,完成本命题的设计与评估。
    [问题1]
    本问题主要是要求考生通过对题目的理解,根据题目给出的技术参数,说明选择操作系统的依据,主要考查考生分析问题的能力。硬实时、资源约束和可靠性是宇航软件必须考虑的三大因素。

  • 第2题:

    阅读以下关于嵌入式软件体系架构的叙述。

    3. 某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:

    (1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);

    (2) 应用软件应与硬件无关,便于软硬件的升级;

    (3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;

    (4) 宇航设备可靠性要求高,系统要有故障处理能力。

    公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。

    [问题1]

    用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。

    [问题2]

    在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。

    请说明两种操作系统的主要差异,完成下表中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。

    两种操作系统的主要差异

    [问题3]

    故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。


    正确答案:[问题1] TLS结构框架的主要特点: (1) 应用软件仅与操作系统服务相关不直接操作硬件。 (2) 操作系统通过模块支持原软件访问硬件可与具体硬件无关。 (3) 模块支持层将硬件抽象成标准操作。 (4) 通过三层栈的划分可实现硬件的快速更改与升级应用软件的升级不会引起硬件的变更。 TLS结构框架的各层内涵是: (1) 应用层主要完成宇航设备的具体工作由多个功能任务组成各功能任务间的隔离由操作系统层实现。 (2) 操作系统层实现应用软件与硬件的隔离为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX)确保了应用软件的可升级性。 (3) 模块支持层为操作系统管理硬件资源提供统一管理方法用一种抽象的标准接口实现软件与硬件的无关性达到硬件的升级要求便于硬件的外场快速更换。 [问题2] 两种操作系统的差异见下表。 选择类似于Linux的嵌入式操作系统。理由如下: (1) Linux操作系统是一种安全性较强的操作系统。内核工作在系统态应用软件工作在用户态可以有效防止应用软件对操作系统的破坏。 (2) Linux操作系统调度的最小单位是线程线程归属于进程进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。 (3) 嵌入式Linux操作系统支持硬件抽象可有效实现TLS结构并将硬件抽象与操作系统分离可方便实现硬件的外场快速更换。 [问题3] (1) 嵌入式系统中故障主要分为: ①硬件故障:如CPU、存储器和定时器等; ②应用软件故障:如数值越界、异常和超时等; ③操作系统故障:如越权访问、死锁和资源枯竭等。 (2) 滤波算法: ①门限算法 ②递减算法 ③递增算法 ④周期滤波算法 (3) 容错算法: ①N+1备份 ②冷备 ③温备 ④热备
    [问题1] TLS结构框架的主要特点: (1) 应用软件仅与操作系统服务相关,不直接操作硬件。 (2) 操作系统通过模块支持原软件访问硬件,可与具体硬件无关。 (3) 模块支持层将硬件抽象成标准操作。 (4) 通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。 TLS结构框架的各层内涵是: (1) 应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。 (2) 操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。 (3) 模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。 [问题2] 两种操作系统的差异见下表。 选择类似于Linux的嵌入式操作系统。理由如下: (1) Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。 (2) Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。 (3) 嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。 [问题3] (1) 嵌入式系统中故障主要分为: ①硬件故障:如CPU、存储器和定时器等; ②应用软件故障:如数值越界、异常和超时等; ③操作系统故障:如越权访问、死锁和资源枯竭等。 (2) 滤波算法: ①门限算法 ②递减算法 ③递增算法 ④周期滤波算法 (3) 容错算法: ①N+1备份 ②冷备 ③温备 ④热备 解析:本题考查嵌入式系统设计的概念,主要包括嵌入式软件体系结构的框架设计,提高宇航设备可靠性的设计方法和掌握根据用户需求开展软件需求分析的手段。
    此类题目要求考生认真阅读题目对用户需求的描述,在分析、论证和概念设计的基础上,根据实例要求完善问题的解析。本题重点考查考生归纳问题、分析问题和解决问题的能力。
    本题首先给出用户针对宇航设备的4项功能要求:
    (1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
    (2) 应用软件应与硬件无关,便于软硬件的升级;
    (3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
    (4) 宇航设备可靠性要求高,系统要有故障处理能力。
    从4项要求分析看,第一项要求是考查考生的基础硬件知识,宇航设备应该由多个硬件模块组成,各个模块承担着不同功能,外场可快速更换是指在实验现场(如机场、发射基地)能够用备份模块替换掉故障硬件模块,从而节省维修时间。此项要求是本题设计软件体系总体架构的基础,也是采用三层栈(TLS)的首要点。第二项要求是考查考生从软/硬件升级方面理解三层栈(TLS)架构的优势,因为硬件要方便升级的基础是不会引起软件的更改(或极少更改),要想达到应用软件与硬件的无关性,必须采用操作系统实现硬件隔离。第三项要求是考查考生根据用户软件的技术要求,如何考虑操作系统的分析方法。要支持任务间的数据隔离,具有进程管理的操作系统最为合适,这里考查了考生必须深入了解什么是操作系统的进程概念。第四项要求是考查考生掌握设计高可靠性设备通常采用的技术。
    如果考生理解了上述4个用户要求,就能容易地回答本题的三个问题。
    [问题1]
    本题给出的TLS结构框架主要通过硬件抽象,形成模块支持层软件,将操作系统对硬件资源的管理抽象成对一种逻辑上相关的抽象资源的管理,这样就将操作系统软件与硬件进行了分离。而应用软件访问硬件资源靠操作系统提供的服务进行,这样,应用软件仅仅和具体功能实现有关,而不需关心硬件配置。因此,TLS结构框架的主要特点可概述为以下4点:
    (1) 应用软件仅与操作系统服务相关,不直接操作硬件。
    (2) 操作系统通过模块支持原软件访问硬件,可与具体硬件无关。
    (3) 模块支持层将硬件抽象成标准操作。
    (4) 通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。
    基于这种思想,TLS结构框架实现了宇航设备中软件功能服务,这样考生就可以完整地叙述各层软件的设计内涵,即:
    (1) 应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。
    (2) 操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。
    (3) 模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。
    [问题2]
    选择操作系统的依据是本题第三项的用户要求,主要考查考生对目前常用的嵌入式操作系统的了解程度。第一小问的表格给出的VxWorks和Linux两个操作系统是嵌入式系统常用的软件,两个软件在资源管理上存在本质区别,考生必须明确差异后,方能回答第二小问。两种操作系统的差异如下表所示。

    通过比较,显然选用类似于Linux的嵌入式操作系统适用本题要求。理由包括三点:
    (1) Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态(这点是系统安全性要求),可以有效防止应用软件对操作系统的破坏。
    (2) Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。
    (3) 嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。
    [问题3]
    作为宇航系统的嵌入式设备,硬/软件故障是宇航系统最为关注的内容,根据宇航系统的特点和系统组成,故障一般分为三类,即硬件故障、应用软件故障和操作系统故障,在设计中,应考虑这三类故障的处理方法。硬件故障一般包括CPU运算错误、存储器访问/越界错误、MMU配置错误、定时器计数错误和内总线错误等;应用软件故障一般包括计算越界、除0、溢出和超时等各种异常情况;操作系统故障一般包括越权访问、死锁、资源枯竭、调度超时、配置越界和操作系统异常等。
    一般情况下,宇航系统的故障分为瞬态故障和永久故障,瞬态故障是指偶然发生的错误,而永久故障是指发生后不可消失的错误。在容错系统中,故障一般是由瞬态故障向永久故障转变,将鉴别瞬态故障和永久故障的算法称为滤波算法。在嵌入式实时系统中,常用的滤波算法包括门限算法、递减算法、递增算法和周期滤波算法等。
    故障的鉴别目的是实现宇航系统的容错与重构。常用的容错算法是N+1备份、冷备、温备和热备。N+1备份是指N个通用模块之一的任何一个模块发生故障后,将故障模块的任务迁移到备份模块运行:冷备、温备和热备是三种备份方式,可根据宇航系统的总体备份时间或重要程度安排不同的备份算法。

  • 第3题:

    嵌入式系统对应用软件的开发和编程语言的选择提出了不同的要求。以下所考虑的一些因素说法错误的是(55)。

    A.通常嵌入式系统要求具有实时处理的能力,这种实时性主要是靠硬件层来体现的

    B.通常嵌入式系统要求支持多任务,能够处理并发事件

    C.嵌入式软件的开发需要交叉编译工具

    D.电源能量的供应在嵌入式系统中是一项约束条件


    正确答案:A
    解析:系统对应用软件的开发和编程语言的选择提出了不同的要求,需要考虑如下一些因素:①实时性。许多嵌入式系统要求具有实时处理的能力,这种实时性主要是靠软件层来体现的。软件对外部事件做出反应的时间必须快,在某些情况下还要求是确定的、可重复实现的,不管系统当时的内部状态如何,都是可以预测的。②并发性。有些嵌入式系统要求支持多任务,能够处理并发事件。③有限的软/硬件资源。在嵌入式系统当中,资源是很有限的,无论是处理器的运算速度、存储器的容量,还是I/O设备的种类,都比不上通用的计算机,甚至连最基本的电力供应,在嵌入式系统中也是一项约束条件,因为许多系统都是采用电池供电。这就使得嵌入式软件在时间和空间上都受到了严格的限制。④涉及底层软件的开发。在无操作系统的情形下,嵌入式软件的开发是直接在硬件平台上进行的,需要直接对硬件进行控制:在有操作系统的情形下,需要先移植一个操作系统,并提供必要的MI函数,然后在操作系统的基础上开发应用程序。但不管是哪一种情形,都需要对底层的软件和硬件进行操作,包括引导加载程序的编写、设备驱动程序的编写、对设备控制器的操作等。⑤需要交叉编译。嵌入式软件的开发环境与运行环境是不同的,需要交叉编译工具。

  • 第4题:

    任务具有创建其他任务的功能,而程序没有. 嵌入式系统的特点是()

    (A)嵌入式系统通常是形式多样、面向特定应用的软硬件综合体;

    (B)嵌入式系统得到多种类型的处理器和处理器体系结构的支持;

    (C)嵌入式系统通常极其关注成本;

    (D)嵌入式系统有实时性和可靠性的要求;

    (E)嵌入式系统使用的操作系统一般是适应多种处理器、可剪裁、轻量型、实时可靠、可固化的嵌入式操作系统;

    (F)嵌入式系统开发不需要专门工具和特殊方法。


    参考答案ABCDE  

  • 第5题:

    阅读以下关于工业控制系统软件方面的叙述,在回答问题1至问题4。

    某公司新近签订了一份控制系统软件的研制合同。合同技术要求如下:

    (1)本控制系统的软件运行平台拟采用嵌入式实时操作系统,控制系统的工作周期为10ms,要求控制软件能够精确地按事先预定的时间顺序完成数据的采集、处理和输出。

    (2)为了提高整个系统的可靠性,控制系统采用容错处理,即用两个相对独立的计算机承担相同的工作,通过交叉对比,实现控制的双余度管理;当任何一台计算机出现故障时,系统可以进行单余度控制。系统结构如图4-1所示。

    (3)在10ms工作周期内的时间分配如表4-1所示。

    公司总工程师将本项任务交付给项目主管李工程师实施,要求李工按双方合同要求完成本项目的策划、需求分析和方案设计工作,重点强调系统的可靠性要求,并特别提示:目前比较流行的嵌入式操作系统普遍采用可抢占式优先级调度策略,不能满足用户关于“能够精确地按事先预定的时间顺序完成数据的采集、处理和输出”的要求。

    李工接到任务后,认为本项目比较简单,很快就安排3名技术人员分别负责数据采集/输出模块、数据处理模块和比较监控模块的编写。总工程师听到汇报后,认为李工的方案和安排不妥,理由是李工忽视了系统的可靠性要求,对系统需求的理解不够深入。为实现系统关于可靠性方面的需求:

    (1)你认为在组织结构、人员分工、设计开发等方面应做出哪些安排和规定?

    (2)请写出关于余度表决算法的考虑。


    正确答案:[解答要点] (1)成立两个独立的软件开发小组。 两个小组合作编写统一的系统需求文档和软件功能说明书。 两个小组分别进行软件开发最好使用不同的编程设计语言(如C语言、C++语言和ADA语言)。 (2)余度表决算法一般采用主从式。 以下假设计算机1为主机、计算机2为从机。 对输入数据进行交叉对比如果一致则用计算机1的数据为数据处理:如果不一致有历史数据时计算机1用历史数据为数据处理;无历史数据时若计算机1和计算机2的数据中有一个在门限值之内则使用该数据作为数据处理若无门限值之内的数据则计算机1使用默认数据进行处理。交叉对比不一致应建立故障记录若故障记录超过门限值系统变为单余度工作方式。 对输出数据进行交叉对比如果一致用计算机1的数据为输出数据:如果不一致且计算机1和计算机2均无历史数据则计算机l用默认数据为输出数据。交叉对比不一致应建立故障记录若故障记录超过门限值系统变为单余度工作方式。
    [解答要点] (1)成立两个独立的软件开发小组。 两个小组合作编写统一的系统需求文档和软件功能说明书。 两个小组分别进行软件开发,最好使用不同的编程设计语言(如C语言、C++语言和ADA语言)。 (2)余度表决算法一般采用主从式。 以下假设计算机1为主机、计算机2为从机。 对输入数据进行交叉对比,如果一致,则用计算机1的数据为数据处理:如果不一致,有历史数据时,计算机1用历史数据为数据处理;无历史数据时,若计算机1和计算机2的数据中有一个在门限值之内,则使用该数据作为数据处理,若无门限值之内的数据,则计算机1使用默认数据进行处理。交叉对比不一致,应建立故障记录,若故障记录超过门限值,系统变为单余度工作方式。 对输出数据进行交叉对比,如果一致,用计算机1的数据为输出数据:如果不一致,且计算机1和计算机2均无历史数据,则计算机l用默认数据为输出数据。交叉对比不一致,应建立故障记录,若故障记录超过门限值,系统变为单余度工作方式。 解析:在可靠性要求极高的控制系统中(如航空、航天和核电厂等领域),控制设备的可靠性问题始终是嵌入式领域亟待解决的问题。一旦发生控制错误,将会引起机毁人亡的惨剧,甚至带来区域性的灾难,因此,余度技术是计算机技术中最为关键的技术。
    在传统的余度控制计算机系统中,为了保证系统的实时性和控制的完整性,一般不采用嵌入式操作系统,而是用软件直接控制硬件的方式实施,但随着计算机技术发展,软件开发手段的不断完善,目前广泛应用了嵌入式实时操作系统作为余度软件的基本支持平台。但是,为了确保实时性要求,达到余度管理同步操作的精确性,必然对操作系统加以限制。本题重点是考核考生如何应用余度技术完成高可靠性控制系统的策划与设计的能力。
    第一步:总结出问题的要点。
    本题主要是围绕具有高可靠性控制系统这—应用背景来考虑的,考察相关领域考生对具有余度需求的项目进行组织、策划和设计的方法。作为系统分析师,在启动项目之前,应学会充分论证用户需求对实施过程的组织能力。本题的主要要点应该包括以下几方面内容。
    (1)项目的组织要合理,解决由于人员素质的差异而带来的软件缺陷。
    (2)采用的编成语言要有一定冗余能力,以预防语言的二义性带来的软件缺陷。
    (3)设计方法要合理,针对两余度硬件平台的特点,重点考虑两余度的设计策略,实现余度间交叉对比和失步后的处理方法。
    因此,本题的选用具有一定的普遍性。
    [问题1]
    本问题主要是要求考生通过对题目的理解,根据题目给出的技术参数和硬件结构,设计出配套的人员组织和典型余度实现的具体方法,包括软件项目组织、语言的选择和具体的表决方法。考生应抓住命题中内容要点,通过项目分解,给出余度设计的几种方法。本题主要考察考生分析问题的能力。开发人员的相互独立性、不同种高级语言的使用以及表决算法的设计是高可靠性控制系统必须考虑的三大因数。

  • 第6题:

    嵌入式系统需求分析的任务通常不包括( )。

    A.确定功能要求
    B.分析数据要求
    C.软硬件模块划分
    D.修正开发计划

    答案:C
    解析:
    嵌入式系统需求分析的任务通常包括确定功能要求、分析数据要求、修正开发计划等,而软硬件模块划分工作属于硬件与软件划分阶段的工作内容。

  • 第7题:

    嵌入式系统初始化过程主要有3个环节,系统级初始化主要任务是( )

    A.完成嵌入式微处理器的初始化
    B.完成嵌入式微处理器以外的其他硬件设备的初始化
    C.以软件初始化为主,主要进行操作系统的初始化
    D.设置嵌入式微处理器的核心寄存器和控制寄存器工作状态

    答案:C
    解析:
    系统初始化过程可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。

    系统初始化:该初始化过程以软件初始化为主,主要进行操作系统的初始化。BSP将对嵌入式微处理器的控制权转交给嵌入式操作系统,由操作系统完成余下的初始化操作,包含加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等。最后,操作系统创建应用程序环境,并将控制权交给应用程序的入口


  • 第8题:

    阅读以下关于嵌入式实时系统相关技术的叙述,在答题纸上回答问题1和问题2。【说明】某公司长期从事宇航领域嵌入式实时系统的软件研制任务。公司为了适应未来嵌入式系统网络化、智能化和综合化的技术发展需要,决定重新考虑新产品的架构问题,经理将论证工作交给王工负责。王工经调研和分析,完成了新产品架构设计方案,提交公司高层讨论。【问题1】 (14分)王工提交的设计方案中指出:由于公司目前研制的嵌入式实时产品属于简单型系统,其嵌入式子系统相互独立,功能单一,时序简单。而未来满足网络化、智能化和综合化的嵌入式实时系统将是种复杂系统,其核心特征体现为实时任务的机理、状态和行为的复杂性。简单任务和复杂任务的特征区分主要表现在十个方面。请参考表3- 1给出的实时任务特征分类,用题干中给出的(a) ~ (t)20个实时任务特征描述,补充完善表31给出的空(1) ~ (14) 。(a) 任务属性不会随时间变化而改变;(b) 任务的属性与时间相关;(c) 任务仅可以从非连续集中获取特征变量;(d) 任务变量域是连续的;(e) 功能原理不依赖于上下文;(f) 功能原理依赖于上下文;(g) 任务行为可以用step-by- step顺序分析方法来理解;(h) 许多任务在产生访问活动时相互间是并发处理的,很难用step by-step方法分析;(i) 因果关系相互影响;(j) 行为特征依赖于大量的反馈机制;(k) 系统内构成、策略和描述是相似的;(l) 系统内存 在许多不同的构成、策略和描述;(m) 功能关系是非线性的;(n) 功能关 系是线性的;(o) 不同的子任务是相互独立的,任务内部仅存在少量的交互操作;(p) 不同的子任务 有很高的交互操作,要把一个单任务的行为隔离开是困难的;(q) 域特征有非常整齐的原则和规则;(r) 许多不同的上下文依赖于规则;(s) 原理和规则在表面属性, 上很容易被识别;

    【问题2】(11分)王工设计方案中指出:要满足未来网络化、智能化和综合化的需求,应该设计一种能够充分表达嵌入式系统行为的、且具有一定通用性的通信架构,?以避免复杂任务的某些特征带来的通信复杂性。通常为了实现嵌入式系统中计算组件间的通信,在架构上需要一种简单的架构风格,用于屏蔽不同协议、不同硬件和不同结构组成所带来的复杂性。图3-1给出了一种“腰(Waistline)"?型通信模式的架构风格。腰型架构的关键是基本消息通信(BMTS),通常BMTS的消息与时间属性相关,支持事件触发消息、速率约束消息和时间触发消息。

    请说明基于BMTS的消息通信网络的主要特征和上述三种消息的基本含义,并举例给出两种具有时间触发消息能力的网络总线。


    答案:
    解析:
    【问题1】(1) (d)(2) (c)(3) (e)(4) (f)(5) (g)(6) (h)(7) (i)(8) (j)(9) (k)(10) (l) (11) (n)(12) (m)(13) (o)(14) (p)
    【问题2】 BMTS的消息通信网络主要特征为:能适配不同的传输介质, 以及适配不同的协议, 屏蔽不同协议之间的差异,简化通信过程降低系统复杂度。事件触发消息;以事件作为触发方式,事件发生便触发相应消息。速率约束消息;传输速率固定的消息,时间触发消息;以时间作为触发方式,到达时间点便触发相应消息。具有时间触发消息能力的网络总线; 航空电子全双工交换式以太网( Avionics Full Duplex Switched Ethernet , AFDX )时间触发以太网( Time Triggered Ethernet, TTE )

  • 第9题:

    阅读以下关于嵌入式多核程序设计技术的描述,回答问题 1 至问题 3。

    【说明】

    近年来,多核技术己被广泛应用于众多安全关键领域(如:航空航天等)的电子设备中,面向多核技术的并行程序设计方法已成为软件人员急需掌握的主要技能之一。某宇航公司长期从事宇航电子设备的研制工作,随着宇航装备能力需求的提升,急需采用多核技术以增强设备的运算能力、降低功耗与体积,快速实现设备的升级与换代。针对面向多核开发,王工认为多核技术是对用户程序透明的,开发应把重点放在多核硬件架构和硬件模块设计上面,而软件方面,仅仅需要选择一款支持多核处理器的操作系统即可。而李工认为,多核架构能够使现有的软件更高效地运行,构建一个完善的软件架构是非常必要的。提高多核的利用率不能仅靠操作系统,还要求软件开发人员在程序设计 中考虑多进程或者多线程并行处理的编程问题。

    【问题 1】(12 分)

    请用 300 字以内文字说明什么是多核技术和多线程技术,并回答李工的意见是否正确,为什么?

    【问题 2】(6 分)

    在多核环境下,线程的活动有并行和并发两种方式,请用 300 字以内的文字说明这两种方式的含义及差别。

    【问题 3】(7 分)

    请根据自己所掌握的多核、多线程的知识,判别表 3-1 给出的说法是否正确,并将答案写在答题纸上对应空白处(填写正确或错误)。


    答案:
    解析:
    【问题 1】(12 分)

    答案:

    多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。

    多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。

    李工的意见正确。多核处理器虽然带来了强大的计算能力,但如果无法实现程序的并行,那么,大量计算资源将被闲置,造成巨大的浪费。所以在开发中,要注重多核编程技术,从并行计算、共享资源分布式计算、任务分解与调度、Lock-Free编程等方面充分考虑相关问题,以便将多核处理器的性能充分发挥出来。

    【问题 2】(6 分)

    答案:并行是指两个或多个事件在同一时刻发生。并行源于系统存在多个(套)硬件资源,如多核cpu。

    并发是指两个或多个事件在同一事件间隔内发生。从微观的角度看,还是串行的。如单cpu系统。

    如果某个系统支持两个或者多个动作同时存在,那么这个系统就是一个并发系统。如果某个系统支持两个或者多个动作同时执行,那么这个系统就是一个并行系统。

    【问题 3】(7 分)

    答案:(1)√ (2)√ (3)× (4)√ (5)× (6)× (7)√

  • 第10题:

    阅读以下关于嵌入式软件体系架构的叙述,在答题纸上回答问题1至问题3。
    某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:
    (1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
    (2)应用软件应与硬件无关,便于软硬件的升级;
    (3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
    (4)宇航设备可靠性要求高,系统要有故障处理能力。
    公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图3-1所示,并将软件设计工作交给了李工,要求其在三周内完成软件总体设计工作,给出总体设计方案。

    【问题1】(8分)
    用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。
    【问题2】(10分)
    在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。
    请说明两种操作系统的主要差异,完成表3-1中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。
    表3-1 两种操作系统的主要差异

    【问题3】(7分)
    故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。


    答案:
    解析:
    【问题1】
    TLS结构框架的主要特点:
    (1)应用软件仅与操作系统服务相关,不直接操作硬件。
    (2)操作系统通过模块支持原软件访问硬件,可与具体硬件无关。
    (3)模块支持层将硬件抽象成标准操作。
    (4)通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。
    TLS结构框架的各层内涵是:
    (1)应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。
    (2)操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。
    (3)模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。
    【问题2】
    两种操作系统的差异见下表。

    选择类似于Linux的嵌入式操作系统。理由如下:
    (1)Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。
    (2)Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。
    (3)嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。
    【问题3】
    (1)嵌入式系统中故障主要分为:
    ① 硬件故障:如CPU、存储器和定时器等;
    ② 应用软件故障:如数值越界、异常和超时等;
    ③ 操作系统故障:如越权访问、死锁和资源枯竭等。
    (2)滤波算法:
    ① 门限算法
    ② 递减算法
    ③ 递增算法
    ④ 周期滤波算法
    (3)容错算法:
    ① N+1备份
    ② 冷备
    ③ 温备
    ④ 热备
    【解析】

    本题考查嵌入式系统设计的概念,主要包括嵌入式软件体系结构的框架设计,提高宇航设备可靠性的设计方法和掌握根据用户需求开展软件需求分析的手段。
    此类题目要求考生认真阅读题目对用户需求的描述,在分析、论证和概念设计的基础上,根据实例要求完善问题的解析。本题重点考查考生归纳问题、分析问题和解决问题的能力。
    本题首先给出用户针对宇航设备的4项功能要求:
    (1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
    (2)应用软件应与硬件无关,便于软硬件的升级;
    (3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
    (4)宇航设备可靠性要求高,系统要有故障处理能力。
    从4项要求分析看,第一项要求是考查考生的基础硬件知识,宇航设备应该由多个硬件模块组成,各个模块承担着不同功能,外场可快速更换是指在实验现场(如机场、发射基地)能够用备份模块替换掉故障硬件模块,从而节省维修时间。此项要求是本题设计软件体系总体架构的基础,也是采用三层栈(TLS)的首要点。第二项要求是考查考生从软/硬件升级方面理解三层栈(TLS)架构的优势,因为硬件要方便升级的基础是不会引起软件的更改(或极少更改),要想达到应用软件与硬件的无关性,必须采用操作系统实现硬件隔离。第三项要求是考查考生根据用户软件的技术要求,如何考虑操作系统的分析方法。要支持任务间的数据隔离,具有进程管理的操作系统最为合适,这里考查了考生必须深入了解什么是操作系统的进程概念。第四项要求是考查考生掌握设计高可靠性设备通常采用的技术。
    如果考生理解了上述4个用户要求,就能容易地回答本题的三个问题。
    【问题1】
    本题给出的TLS结构框架主要通过硬件抽象,形成模块支持层软件,将操作系统对硬件资源的管理抽象成对一种逻辑上相关的抽象资源的管理,这样就将操作系统软件与硬件进行了分离。而应用软件访问硬件资源靠操作系统提供的服务进行,这样,应用软件仅仅和具体功能实现有关,而不需关心硬件配置。因此,TLS结构框架的主要特点可概述为以下4点:
    (1)应用软件仅与操作系统服务相关,不直接操作硬件。
    (2)操作系统通过模块支持原软件访问硬件,可与具体硬件无关。
    (3)模块支持层将硬件抽象成标准操作。
    (4)通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。
    基于这种思想,TLS结构框架实现了宇航设备中软件功能服务,这样考生就可以完整地叙述各层软件的设计内涵,即:
    (1)应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。
    (2)操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。
    (3)模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。
    【问题2】
    选择操作系统的依据是本题第三项的用户要求,主要考查考生对目前常用的嵌入式操作系统的了解程度。第一小问的表格给出的VxWorks和Linux两个操作系统是嵌入式系统常用的软件,两个软件在资源管理上存在本质区别,考生必须明确差异后,方能回答第二小问。两种操作系统的差异如下表所示。
    通过比较,显然选用类似于Linux的嵌入式操作系统适用本题要求。理由包括三点:
    (1)Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态(这点是系统安全性要求),可以有效防止应用软件对操作系统的破坏。
    (2)Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。
    (3)嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。
    【问题3】
    作为宇航系统的嵌入式设备,硬/软件故障是宇航系统最为关注的内容,根据宇航系统的特点和系统组成,故障一般分为三类,即硬件故障、应用软件故障和操作系统故障,在设计中,应考虑这三类故障的处理方法。硬件故障一般包括CPU运算错误、存储器访问/越界错误、MMU配置错误、定时器计数错误和内总线错误等;应用软件故障一般包括计算越界、除0、溢出和超时等各种异常情况;操作系统故障一般包括越权访问、死锁、资源枯竭、调度超时、配置越界和操作系统异常等。
    一般情况下,宇航系统的故障分为瞬态故障和永久故障,瞬态故障是指偶然发生的错误,而永久故障是指发生后不可消失的错误。在容错系统中,故障一般是由瞬态故障向永久故障转变,将鉴别瞬态故障和永久故障的算法称为滤波算法。在嵌入式实时系统中,常用的滤波算法包括门限算法、递减算法、递增算法和周期滤波算法等。
    故障的鉴别目的是实现宇航系统的容错与重构。常用的容错算法是N+1备份、冷备、温备和热备。N+1备份是指N个通用模块之一的任何一个模块发生故障后,将故障模块的任务迁移到备份模块运行;冷备、温备和热备是三种备份方式,可根据宇航系统的总体备份时间或重要程度安排不同的备份算法。

  • 第11题:

    嵌入式系统的硬件架构是以()为中心,由(),I/O设备,通信模块以及电源等必要的辅助接口组成。


    正确答案:嵌入式处理器;存储器

  • 第12题:

    问答题
    某研究所承担了一项宇航嵌入式系统的研制任务,本项任务技术难度大、可靠性要求高、进度要求紧,预计软件规模约在一万行以上。而该所原先承担的相关项目均是用汇编语言编写(软件规模较小,一般是几百行)。项目主管工程师将软件开发的论证工作分别布置给了王工和李工,要求他们根据本项目的技术要求,在一周内分别提出软件的实施方案。 ①该宇航嵌入式系统由数据处理机、信号处理机及数据采集模块组成。信号处理机主要通过数据采集模块将大量不同时间周期的外部数据采集进来,进行预处理(如FFT变换)后提交给数据处理机;数据处理机根据功能要求完成各种计算处理工作,并将结果输出。为了达到数据处理机和信号处理机的标准化,这两类处理机均采用同种处理机的体系结构(如PowerPC7410)。整个系统工作的最大周期为1s,最小周期为5ms。数据处理机上任务分布如表12-16所示。 ②一周后,王工和李工提交了各自的实施方案,其共同之处在于二者均提出采用操作系统及相应的软件开发环境。但是,王工和李工在选择什么样的操作系统及开发环境方面出现了较大分歧。王工的实施方案指出,为了满足本项目的技术要求,并有利于本所软件的长期发展,应选用具有硬实时处理能力的嵌入式实时操作系统及开发环境(如VxWorks);而李工的实施方案指出,操作系统主要完成对计算机资源的管理与分配工作,考虑到人们对操作系统及软件开发工具的熟悉程度,本项目应选用具有大众化的、开发人员容易上手的嵌入式操作系统(例如,WindowsCE、Linux)。 ③在两人争执不下的情况下,项目主管工程师组织了相关专家对王工和李工提交的实施方案进行了评审。最后,专家组一致认为王工的方案切实可行,操作系统的选型论证充分、客观,可以作为本所未来几年中相关项目的软件开发的基本环境。同时专家组还就具体实施选择嵌入式实时操作系统及开发环境产品时应着重考虑的相关问题提出了几点建议。 为什么专家组一致认为王工的实施方案切实可行?请用200字以内文字简要说明。

    正确答案: ①宇航嵌入式系统是一种硬实时系统,要求对外部事件做出快速响应(一般在毫秒级),因此,硬实时操作系统在实时处理和相应的方面优于一般嵌入式操作系统,故王工提出的选用具有硬实时处理能力的嵌入式操作系统方案可行。
    ②从资源的约束性来讲,宇航嵌入式系统由于受空间和重量的限制,操作系统代码不宜过于庞大,选择具有可裁剪功能的操作系统更适应本项目。
    ③宇航嵌入式系统要求软件可靠性要高,而王工选择的操作系统已经过相关部门验证,其可靠性高于李工所选的操作系统。
    解析: 暂无解析

  • 第13题:

    阅读以下嵌入式多核程序设计技术方面的叙述,回答问题1至问题3。

    甲公司承担了一项为宇航系统配套生产高性能嵌入式计算机系统的任务,用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,并可以有效地防止系统故障的蔓延。根据用户对本项目的要求,甲公司成立了软/硬件两个项目组,总体设计由硬件组承担,负责高性能嵌入式计算机系统体系结构设计,软件组负责确定软件的技术需求和应用软件开发平台的软件设计工作。

    在处理器选型方面,硬件组王工与软件组张工在讨论采用哪种CPU体系结构方面发生争议。目前,流行的处理器结构包括了单核结构、多处理器结构、超线程结构、多核结构、共享Cache的多核结构和超线程技术的多核结构六种,如下图所示。

    王工提出,根据用户要求,本嵌入式系统应具有高速并行处理能力,采用多处理器结构比较适合,主要理由是多处理器结构设计简单、可支持多个进程在不同处理器上并发处理;而张工提出,必须分清“多处理器结构”与“多核结构”的优点和缺点,多处理器结构虽然支持多进程的并发处理,但没有直接实现多线程并发执行;多核结构可以直接实现多线程并发执行。要提高应用的并行性就必须利用多个硬件资源的并行工作,建议采用超线程技术的多核结构的处理器。请填写下图(f)中的(1)~(8),并用300字以内的文字对上述六种处理器结构的工作原理进行简要描述。


    正确答案:第一问 第二问 (1) 单核结构:计算机中仅有一个物理处理器不支持应用软件的并行执行因为在任何时间点上CPU都只能执行一个指令流。 (2) 多处理器结构:支持真正意义上的并行执行因为多个线程或进程能够在多个处理器上同时执行。 (3) 超线程结构(SMT):实际上计算机中只有一个实际的物理处理器但从软件角度来看存在多个逻辑处理器支持操作系统和应用程序将多个线程调度到多个逻辑处理器上就像多处理器系统一样。从微体系结构的角度看逻辑处理器的指令是固定的并且在共享的执行资源上同时执行。 (4) 多核结构:采用单芯片多处理器(CMP)的设计此种结构不是重用单个处理器中某些处理器资源而是在单个处理器芯片内实现两个或更多的“执行核”。这些执行核都是相互独立的处理器并具有自己的执行集合以及体系结构资源。 (5) 共享Cache的多核结构:与多核结构工作方式相一致主要差别在于设计时将这些执行核设计成可共享片上的Cache。 (6) 采用超线程技术的多核结构:主要是将多核结构与超线程结构相结合从而将逻辑处理器的数量增加到执行核的两倍。
    第一问 第二问 (1) 单核结构:计算机中仅有一个物理处理器,不支持应用软件的并行执行,因为在任何时间点上,CPU都只能执行一个指令流。 (2) 多处理器结构:支持真正意义上的并行执行,因为多个线程或进程能够在多个处理器上同时执行。 (3) 超线程结构(SMT):实际上计算机中只有一个实际的物理处理器,但从软件角度来看,存在多个逻辑处理器,支持操作系统和应用程序将多个线程调度到多个逻辑处理器上,就像多处理器系统一样。从微体系结构的角度看,逻辑处理器的指令是固定的,并且在共享的执行资源上同时执行。 (4) 多核结构:采用单芯片多处理器(CMP)的设计,此种结构不是重用单个处理器中某些处理器资源,而是在单个处理器芯片内实现两个或更多的“执行核”。这些执行核都是相互独立的处理器,并具有自己的执行集合以及体系结构资源。 (5) 共享Cache的多核结构:与多核结构工作方式相一致,主要差别在于设计时将这些执行核设计成可共享片上的Cache。 (6) 采用超线程技术的多核结构:主要是将多核结构与超线程结构相结合,从而将逻辑处理器的数量增加到执行核的两倍。 解析:从题意可以看出,本题涉及嵌入式软硬件设计问题,主要考查应试者能否正确地根据用户需求,理解技术要求,针对宇航系统配套生产高性能嵌入式计算机系统的任务,确定软件的技术需求和应用软件开发平台选择。本题主要考核考生以下实时系统基本技术知识。
    (1)因为嵌入式实时系统与实际应用要求结合性很高,为了满足系统总的要求,在嵌入式计算机系统体系结构设计时,应充分考虑实际应用对硬件平台的配置和系统的实际技术要求。由于本题用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,因此考查如何选择处理器的结构以及对处理机不同结构特性了解的程度。
    (2)软件并发是一种能够有效解决资源同时共享问题的方法。软件并发具有非常重要的作用和意义,主要体现在:并发能够让系统资源得到最有效的利用。但是由于采用了多线程技术实现应用程序的并发操作,将存在同步、通信、负载均衡和可伸缩性方面的问题。本题要求考生了解并行程序设计的基础知识。
    (3)本题给出为了防止系统故障的蔓延,在超线程技术的多核结构需要选择一种嵌入式操作系统作为本高性能嵌入式计算机系统的运行环境,才能满足用户对系统的要求,考生从题中应可以看出,操作系统应该是实时性强、可靠性高、支持多核结构和高速缓存管理。只有这样才能增强系统的性能。
    [问题1] 本问题主要考查考生对处理器的结构及多线程的理解能力,分清“多处理器结构”与“多核结构”的优点和缺点。
    超线程技术实际上只有一个实际的物理处理器,但是从软件的角度来看,存在多个逻辑处理器。超线程技术支持操作系统和应用程序将多个线程调度到多个逻辑处理器上,就像多处理器系统一样。从微体系结构的角度看,逻辑处理器的指令都是固定的,并且在共享的执行资源上同时执行。也就是说,多个线程能够在多个逻辑处理器间进行调度,但是由于执行资源是这些逻辑处理器共享的,因此微体系结构必须决定两个线程如何以及何时切换执行。当一个线程被挂起的时候,另一个线程就会继续执行。能够导致线程挂起的因素包括处理Cache失效以及分支预测失败。
    在同时多线程技术之后就出现了多核处理器。多核处理器采用单芯片多处理器(Chip Multiprocessor,CMP)的设计。随着生产工艺与制造技术上的进步,处理器厂商在设计多核处理器时,不是重用单个处理器中的某些处理器资源,而是在单个处理器芯片内实现两个或者更多的“执行核”。这些执行核都是相互独立的处理器,只是位于同一块芯片上而已。这些执行核都具有自己的执行集合以及体系结构资源。如下图所示。

    如果考生能充分理解此题,问题1的第二问将会迎刃而解。

  • 第14题:

    以下关于嵌入式系统的组成说法错误的是(26)。

    A.在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块,其中嵌入式操作系统和应用程序都可以固化在 RAM中

    B.Cache位于主存和嵌入式微处理器内核之间,用于减小主存或辅助存储器对微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强

    C.板级支持包(BSP)位于嵌入式系统硬件层和系统软件层之间,也称为硬件抽象层(HAL),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关

    D.系统软件层位于嵌入式中间层和应用软件层之间,由RTOS;文件系统、GUI、网络系统及通用组件模块等组成。


    正确答案:A
    解析:选项A的说法是错误的,因为在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块,其中操作系统和应用程序都可以固化在ROM中。

  • 第15题:

    嵌入式系统需求分析的任务通常不包括(64)。

    A.确定功能要求

    B.分析数据要求

    C.软硬件模块划分

    D.修正开发计划


    正确答案:C
    解析:嵌入式系统需求分析的任务通常包括确定功能要求、分析数据要求、修正开发计划等,而软硬件模块划分工作属于硬件与软件划分阶段的工作内容。

  • 第16题:

    近年来,分区化(Partitioning)技术已被广泛应用于大型嵌入式系统,此项技术重在解决嵌入式系统中多类应用软件共享计算机资源的安全性问题,同时,也可降低软件开发成本,提高软件的可重用能力。某公司承担了一项宇航计算机系统研制任务,要求将以前采用的多处理机系统精简为由单个处理器系统完成,而整体功能应在原有功能不变的基础上,可灵活扩展,并要求原应用软件可被快速移植到新系统。公司将任务交给王工程师组织并承担总体设计工作。在采用何种嵌入式实时操作系统的选型问题上,王工认为宇航系统强调安全性,原系统应用软件功能分布在各自的处理机上,在保持功能不变的情况下,应适当地维持各个软件的相对独立性,因此采用具有分区能力的操作系统(如:VxWorks653)比较合适。

    【问题1】(共9分)

    图3-1给出了具有分区能力的操作系统架构,该架构支持分区和进程两类调度,并提供了分区的时间、空间隔离保障,保证了应用软件可安全共享计算机资源。请用300字以内文字说明该类操作系统中分区化技术的主要特点。

    图3-1 具有分区能力的操作系统架构

    【问题2】(共16分)

    完成该项目总体设计后,王工将软件设计工作交给李工,要求李工在原有软件基础上,完成新环境下的软件设计。经分析,李工统计出了原系统的任务基本情况(见表3-1)。原系统包含三个子系统,为了保证各子系统软件间的相对独立性,将三个子系统移植到新系统的三个分区工作,假设将“显示子系统”、“雷达子系统”和“任务子系统”分别用P1、P2和P3表示,系统的最小时间计时(tick)设为1ms,调度表的主时间框架将是40ms。

    根据表3-1给出的原系统各任务周期和最坏执行时间数据,新系统中的所有任务可被调度,请对此进行分析说明,完善表3-2所示的分区调度表的设计,在空(1)~(10)填写正确内容并将解答填入答题纸的对应栏内。

    (注:WCET,Worst-Case Execution Time)。

    表3-1 原系统软件任务情况


    正确答案:
    【问题1】
    分区是一个相对独立实体,对于每个分区来讲,它们在空间和时间上完全隔离;分区由一个以上的进程组成,在时间上,每个分区按预先设定的时间片运行,分区没有优先级,系统中的所有分区按线性方式顺序工作;在空间上,每个分区有自己独立的存储空间,其空间大小是预先分配好的,任何分区内的进程发生故障不会影响其他分区的进程运行。分区技术使应用之间既能够相互独立的工作而不相互影响,又能共享系统资源;各个应用之间故障隔离,防止错误蔓延,可靠性和安全性高。开发人员能够快速地将新的软件模块插入系统,从而实现了高级别的系统集成和更新。
    【问题2】
    (1)0(2)1(3)2(4)P2(5)P3
    (6)4(7)20(8)3(9)null(10)7

  • 第17题:

    阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1、问题2和问题3。

    某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。

    系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1 024KB)、4路422半双工串行接口 (其中两路的频率115 200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下(注:B:字节;s:秒;ms:毫秒):

    .系统要求以5ms为周期从双口存储器中采集1 024KB的输入数据,处理任务的时间约为1ms;(称为5ms任务)

    .要求以20ms为周期从两路422接口(115 200Hz)中采集一定格式的大小系统为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令;(称为20ms任务)

    .系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms任务)

    .作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms。(称为1s任务)

    本公司课题组根据用户的硬件环境及对软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发,李工程师(简称李工)提出为了保证系统的实时性,应该采用在裸机上直接开发的方式,关键部分采用汇编语言编写,而王工程师(简称王工)提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。

    请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?


    正确答案:采用嵌入式实时操作系统的主要理由及优点: 操作系统提供的任务调度功能可以有效地管理本系统多周期任务的调度并且操作系统提供的事件、信号和任务间的通信机制可以有效地解决本系统中资源共享中的互斥问题。 采用商品化的软件可提高所开发软件的可靠性还可简化软件开发成本提高开发效率。 选择嵌入式实时操作系统主要考虑操作系统以下功能和性能: . 任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。 . 操作系统提供的服务接口应较丰富有利于灵活使用(接口的开放性)。 . 操作系统对可靠性有较强的保障支持能力。 . 使用简单支撑环境配套好可配置、可剪裁能力强。
    采用嵌入式实时操作系统的主要理由及优点: 操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和任务间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。 采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。 选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能: . 任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。 . 操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。 . 操作系统对可靠性有较强的保障支持能力。 . 使用简单,支撑环境配套好,可配置、可剪裁能力强。 解析:实时系统是指系统计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统错误,严重情况下会产生灾难性后果。实时系统在经济、航天、军事、科学等多个领域中起着重要的作用。
    实时操作系统主要负责实时系统的任务调度、资源分配、系统检测、可靠性保证等,并提供简单、易用的使用开发接口,为保证实时性,其内核应该是“短小精干”,执行时占用CPU时间和其他开销很少。根据情况,实时操作系统可以直接在裸机上开发,也可直接应用商用嵌入式实时操作系统。
    第一步:总结出问题的要点。
    本题主要考查嵌入式系统的操作系统设计或选型要求,考查在保证完成各个实时任务的前提下,如何设计任务调度方案。
    [问题1]
    说明不采用在裸机上自行研发操作系统,而直接采用商品化的嵌入式实时操作系统的理由,还要说明实时操作系统的性能要求。

  • 第18题:

    软件在机载设备中的运用越来越广泛,驻留于机载设备中的嵌入式软件失效会产生灾难性后果,一般要求其具有较高的可靠性,因此,软件可靠性测试对机载软件至关重要。
    对某嵌入式软件,设计要求其可靠度为1000小时无失效概率99.99%。经实测得出其失效概率函数F(1000)=0.0012,问该软件是否符合设计可靠性要求,并说明原因。


    答案:
    解析:
    不符合可靠度要求。
    软件可靠度R(t)和软件失效概率之间的关系为R(t)=1-F(t)。R(1000)=1-F(1000)=1-0.0012=0.9988=99.88%,99.88%<99.99%,因此不符合设计软件可靠度要求。
    【解析】
    本题考查软件可靠性知识与应用。
    软件可靠性(software reliability)是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。规定的条件是指直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件,或统称为软件运行时的外部输入条件;规定的时间区间是指软件的实际运行时间区间;规定功能是指为提供给定的服务,软件产品所必须具备的功能。软件可靠性不但与软件存在的缺陷和(或)差错有关,而且与系统输入和系统使用有关。软件可靠性的概率度量称软件可靠度。
    现代软件工程认为,质量形成于过程,过程的因素是影响软件可靠性的主要因素。从软件开发的角度,影响软件可靠性的因素有软件规模、运行剖面、软件内部结构、软件可靠性管理、软件可靠性测试与投入、软件可靠性设计技术、软件开发方法与软件开发环境等。一般地,软件规模越大,其可靠性问题就越多。
    失效概率是软件从运行开始到某一时刻t为止,出现失效的概率;
    可靠度是软件系统在规定的条件下,规定的时间内不发生失效的概率;
    平均无失效时间指软件运行后,到下一次出现失效的平均时间。
    软件可靠度R(t)与软件失效概率之间的关系为R(t)=1-F(t),题目中t=1000,F(t)=0.0012,因此R(t)=1-0.0012=0.9988,显然不符合该嵌入式软件设计要求的0.9999无失效概率。

  • 第19题:

    请详细阅读有关嵌入式实时操作系统方面的描述,回答问题1至问题2。

    【说明】

    近年来,分区化(Partitioning)技术已被广泛应用于大型嵌入式系统,此项技术重在解决嵌入式系统中多类应用软件共享计算机资源的安全性问题,同时,也可降低软件开发成本,提高软件的可重用能力。某公司承担了一项宇航计算机系统研制任务,要求将以前采用的多处理机系统精简为由单个处理器系统完成,而整体功能应在原有功能不变的基础上,可灵活扩展,并要求原应用软件可被快速移植到新系统。公司将任务交给王工程师组织并承担总体设计工作。在采用何种嵌入式实时操作系统的选型问题上,王工认为宇航系统强调安全性,原系统应用软件功能分布在各自的处理机上,在保持功能不变的情况下,应适当地维持各个软件的相对独立性,因此采用具有分区能力的操作系统(如:VxWorks653)比较合适。



    【问题1】

    图3-1给出了具有分区能力的操作系统架构,该架构支持分区和进程两类调度,并提供了分区的时间、空间隔离保障,保证了应用软件可安全共享计算机资源。请用300字以内文字说明该类操作系统中分区化技术的主要特点。

    【问题2】

    完成该项目总体设计后,王工将软件设计工作交给李工,要求李工在原有软件基础上,完成新环境下的软件设计。经分析,李工统计出了原系统的任务基本情况(见表3-1)。原系统包含三个子系统,为了保证各子系统软件间的相对独立性,将三个子系统移植到新系统的三个分区工作,假设将“显示子系统”、“雷达子系统”和“任务子系统”分别用P1、P2和P3表示,系统的最小时间计时(tick)设为1ms,调度表的主时间框架将是40ms。

    根据表3-1给出的原系统各任务周期和最坏执行时间数据,新系统中的所有任务可被调度,请对此进行分析说明,完善表3-2所示的分区调度表的设计,在空(1)~(10)填写正确内容并将解答填入答题纸的对应栏内。

    (注:WCET,Worst-CaseExecutionTime)。


    答案:
    解析:
    【问题1】
    答:(1)应用软件代码和操作系统代码工作在处理器的不同特权级别上,应用软件的失效不会影响操作系统的运行:

    (2)每一个分区有自己私有存储资源,分区所占空间是相互隔离的,分区内某进程的失效仅仅只影响到进程所在的分区;

    (3)操作系统可为分区内应用软件提供多种类型的API服务,使原有应用软件可方便地移植到分区内运行;

    (4)分区的调度是按预先配置好的时间表进行调度,任何-个分区只能在系统分配给它的时间窗口内运行,任何分区不能、也无法占用其他分区的窗口时间;

    (5)具有分区能力的操作系统提供健康监控管理能力,它通过操作系统内的故障监测机制,将发现的应用、分区和系统的错误通过注入机制报告健康监控系统,由它进行统一的故障处理;

    (6)分区化操作系统允许不同安全等级(A-E)的应用软件共享计算机资源,可实现软件验证的最小化、局部化。

    【问题2】

    答:所有任务可被调度的分析如下:

    保证所用任务的可调度性必须满足在主时间框架内,系统中所用任务的最坏执行时间(WCET)均被执行至少一次。初步计算如下:

    1(P3T1)≤5ms

    1(P1T1)+ l(P2T1)≤10m

    2(P1T2)+ 1(P3T2)≤20m

    1(P3T1)*8+1(P1T1)*4+l(P2T1)*4+2(P1T2)*2+1(P3T2)*2+5(P1T3)*1+3(P2T2)<=40ms

    依据上述三个设计条件,新系统的分区调度表可安排如下:

    (1)0 (2) 1 (3) 2 (4) P2 (5) P3

    (6)4 (7) 20 (8) 1 (9) null (10) 7

  • 第20题:

    阅读以下关于嵌入式系统开发的叙述,在答题纸上回答问题1至问题3。

    【说明】

    某软件公司长期从事移动智能终端设备等嵌入式软件研制工作,积累了丰富的嵌入式软件开发经验。某日,该公司经理派在嵌入式软件开发方面已具有很强经验的王工程师到某宇航设备研制单位洽谈一项软件合作项目,但是,在与对方洽谈需求时王工程师感觉沟通并不顺畅,许多概念较难达成一致。主要原因是王工程师长期从事移动智能终端的软件开发,开发平台主要是Android操作系统,开发语言是Java,而这次洽谈是王工程师第一次接触宇航系统软件,对于其特殊需求和要求缺少相关知识积累,不了解强实时、高安全和高可靠嵌入式软件设计等方面应用。

    【问题1】

    王工程师与某宇航设备研制单位洽谈的业务,涉及到了嵌入式系统的知识。根据你的理解请用100宇以内文字说明嵌入式系统的主要特点。

    【问题2】

    工程师到某宇航设备研制单位洽谈软件项目时,宇航设备研制单位技术人员提出了以下需求:此宇航设备主要面向无人飞行器,用于飞行姿态控制,实现飞行器的自主起飞和着陆,要求应用软件按最高安全等级(即A级软件要求)开发。为了提高飞行器系统的安全性和可靠性,便于应用软件的可重用性,需要选择一款满足宇航设备要求的嵌入式操作系统,并在操作系统之上开发飞行器控制软件。请根据你对嵌入式操作系统选择方法的理解,判断表3-1给出的有关选择嵌入式操作系统的观点是否正确,将解答写在答题纸的对应栏内。

    【问题3】

    请用300字以内文字,说明宇航设备的嵌入式软件与移动智能终端嵌入式软件在安全性(safety)、实时性、交互性设计和编码方面的要求有何差异,请填写表3-2中的空格(1)~(8),将解答写在答题纸的对应栏内。


    答案:
    解析:
    【问题1】

    答: 嵌入式系统具备以下7个特点:

    (1) 系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。

    (2) 系统实时性强。许多嵌入式系统对外部事件要求在限定的时间内及时作出响应,具有实时性。根据实时性的强弱,通常将嵌入式系统分为实时嵌入式系统和非实时嵌入式系统,其中大部分为实施嵌入式系统。

    (3) 软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。

    (4) 处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的。通常具备功耗低、体积小和集成度高等特点,能够将许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。

    (5) 多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术、机械技术与各行业的具体应用相结合的产物。通用计算机技术也离不开这些技术,但它们相互结合的紧密程度不及嵌入式系统。

    (6) 系统透明性。嵌入式系统在形态上与通用计算机系统差距甚大。它的输入设备往往不是常见的鼠标和键盘之类的设备,甚至不用输出装置,用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,即使知道,也不必关心嵌入式系统的相关情况。

    (7) 系统资源受限。嵌入式系统为了达到结构紧凑、高可靠性和低成本的目的,其存储容量、I/O设备的数量和处理能力都比较有限。


    【问题2】

    答:(1)√ (2)× (3)√ (4)√ (5)√ (6)√ (7)× (8)√


    【问题3】

    答:(1) 宇航软件通常根据软件所在设备的失效而对系统安全性(Safety)影响的严重程度分为多种安全级别(如:A?E五级),而不同安全级别的软件开发过程有其不同的要求。

    (2) 移动智能终端中的软件主要用于辅助人们工作与生活,一般不会对生命产生直接影响,它没用安全级别之分。

    (3) 为了提高实时性,宇航软件设计上要充分考虑与硬件的紧密协同,尽可能地有效发挥硬件特点,在设计上要仔细考虑将实时性能需求分解到每个软件部件中。

    (4) 移动智能终端软件属于弱实时系统,对时间特性不敏感,达到人们可容忍即可(1分)。设计上尽量避免软件与硬件紧耦合。

    (5) 宇航软件大多数属于非人机交互系统,关注重点是安全性和可靠性设计。

    (6) 移动智能终端软件设计上重点关注的是人机界面友好性、简洁性,注重用户体现。

    (7) 宇航软件编码要遵守语言标准,尤其是应按照高级语言的安全子集标准开展编码,对代码函数的语句条数、扇入扇出、圈复杂度等影响代码质量因素都有严格规定。

    (8) 移动智能终端软件编码虽然也要遵循一定的编码标准,但在安全编码、扇入扇出、圈复杂度等方面没有严格要求。

  • 第21题:

    某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);(2) 应用软件应与硬件无关,便于软硬件的升级;(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;(4) 宇航设备可靠性要求高,系统要有故障处理能力。公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。

    用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。[问题2]在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。请说明两种操作系统的主要差异,完成下表中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。两种操作系统的主要差异

    [问题3]故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。


    答案:
    解析:
    [问题1]TLS结构框架的主要特点:(1) 应用软件仅与操作系统服务相关,不直接操作硬件。(2) 操作系统通过模块支持原软件访问硬件,可与具体硬件无关。(3) 模块支持层将硬件抽象成标准操作。(4) 通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。TLS结构框架的各层内涵是:(1) 应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。(2) 操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。(3) 模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。[问题2]两种操作系统的差异见下表。

    选择类似于Linux的嵌入式操作系统。理由如下:(1) Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。(2) Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。(3) 嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。[问题3](1) 嵌入式系统中故障主要分为:①硬件故障:如CPU、存储器和定时器等;②应用软件故障:如数值越界、异常和超时等;③操作系统故障:如越权访问、死锁和资源枯竭等。(2) 滤波算法:①门限算法②递减算法③递增算法④周期滤波算法(3) 容错算法:①N+1备份②冷备③温备④热备

  • 第22题:

    阅读以下关于嵌入式系统可靠性设计方面的描述,回答下列问题。
    【说明】某宇航公司长期从事宇航装备的研制工作,嵌入式系统的可靠性分析与设计已成为该公司产品研制中的核心工作,随着宇航装备的综合化技术发展,嵌入式软件规模发生了巨大变化,代码规模已从原来的几十万扩展到上百万,从而带来了由于软件失效而引起系统可靠性降低的隐患。公司领导非常重视软件可靠性工作,决定抽调王工程师等5人组建可靠性研究团队,专门研究提高本公司宇航装备的系统可靠性和软件可靠性问题,并要求在三个月内,给出本公司在系统和软件设计方面如何考虑可靠性设计的方法和规范。可靠性研究团队很快拿出了系统及硬件的可靠性提高方案,但对于软件可靠性问题始终没有研究出一种普遍认同的方法。
    【问题1】请用200字以内文字说明系统可靠性的定义及包含的4个子特性,并简要指出提高系统可靠性一般采用哪些技术?
    【问题2】王工带领的可靠性研究团队之所以没能快速取得软件可靠性问题的技术突破,其核心原因是他们没有搞懂高可靠性软件应具备的特点。软件可靠性一般致力于系统性地减少和消除对软件程序性能有不利影响的系统故障。除非被修改,否则软件系统不会随着时间的推移而发生退化。请根据你对软件可靠性的理解,给出下表所列出的硬件可靠性特征与其对应的软件可靠性特征之间的差异或相似之处,将答案写在答题纸上。
    【问题3】王工带领的可靠性研究团队在分析了大量相关资料基础上,提出软件的质量和可靠性必须在开发过程构建到软件中,也就是说,为了提高软件的可靠性,必须在需求分析、设计阶段开展软件可靠性筹划和设计。研究团队针对本公司承担的飞行控制系统制定出了一套飞控软件的可靠性设计要求。飞行控制系统是一种双余度同构型系统,输入采用了独立的两路数据通道,在系统内完成输入数据的交叉对比、表决、制导率计算,输出数据的交叉对比、表决、输出等功能,系统的监控模块实现对系统失效或失步的检测与定位。其软件的可靠性设计包括恢复块方法和N版本程序设计方法。请根据恢复块方法工作原理完成下图,在(1)~(4)中填入恰当的内容。并比较恢复块方法与N版本程序设计方法,将比较结果(5)~(8)填入下表中。



    答案:
    解析:
    问题1:
    系统可靠性定义:系统在规定的时间内及规定的环境条件下,完成规定功能的能力,就是系统无故障运行的概率。
    根据国家标准《软件工程产品质量 第1部分:质量模型》(GB/T 16260.1—2006)的规定,系统可靠性包括:成熟性、容错性、易恢复性和可靠性的依从性4个子特性。
    提高系统可靠性一般采用以下4类技术: (1)冗余技术; (2)软件容错技术; (3)双机容错技术; (4)集群技术。
    问题2:
    (1)从硬件角度分析,由于硬件一旦生产完成,其可靠性指标将会随着使用时间延长而逐步老化,从而带来可靠性降低,即呈现失效率服从浴缸曲线;而软件不存在随时间延长而老化的现象,因此,在不考虑软件演化的情况下,失效率在统计上是非增的。
    (2)由于硬件是由多种电子器件组成,即使不使用,材料劣化也会导致失效;而软件就不同了,软件一旦调试完成,固化到设备中,在不考虑存储介质的老化因素的前提下,即使不使用该软件,软件也永远不会发生失效。
    (3)由于硬件存在可更换性,其硬件通过维修,可恢复原始状态;而对于软件而言,一旦需要维护,必然是存在需求更改、程序存在bug等现象,其维护必然会创建新的软件代码。
    (4)一般而言,硬件失效存在一个发展过程,在发生故障之前必然会有报警现象出现,而软件失效之前很少会有警告。
    问题3:
    1.恢复块方法: (1)主块 (2)验证测试 (3)输出正确结果 (4)异常处理
    2.恢复块方法与N版本程序设计的比较 (5)表决 (6)反向恢复 (7)差 (8)好

  • 第23题:

    填空题
    嵌入式系统的硬件架构是以()为中心,由(),I/O设备,通信模块以及电源等必要的辅助接口组成。

    正确答案: 嵌入式处理器,存储器
    解析: 暂无解析