问答题某研究所承担了一项宇航嵌入式系统的研制任务,本项任务技术难度大、可靠性要求高、进度要求紧,预计软件规模约在一万行以上。而该所原先承担的相关项目均是用汇编语言编写(软件规模较小,一般是几百行)。项目主管工程师将软件开发的论证工作分别布置给了王工和李工,要求他们根据本项目的技术要求,在一周内分别提出软件的实施方案。 ①该宇航嵌入式系统由数据处理机、信号处理机及数据采集模块组成。信号处理机主要通过数据采集模块将大量不同时间周期的外部数据采集进来,进行预处理(如FFT变换)后提交给数据处理机;数据处理机根据

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

相似考题

1.阅读以下有关嵌入式系统设计的说明,在答题纸上回答问题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实现应用与内核以及诸应用之间的隔离和保护。

2.阅读以下关于嵌入式系统软件设计方面的叙述,回答问题1至问题3。某公司承担了一项嵌入式系统软件开发项目。该项目主要用于车载电子系统中监视发动机及燃油系统等系统工作状况,并通过综合仪表显示给驾驶员。经过多次与用户沟通,形成以下技术要求:(1)本项目的硬件平台由主处理机模块和多种接口模块组成,底板采用标准VME总线(硬件结构图如图3-1所示),具体硬件模块配置如下。①主处理机模块(CPM)采用PowerPC755,主频266MHz,配有SDRAM存储器和FLASH存储器;提供一个定时/计数器;支持16级中断和二级cache。②输入输出模块(IOC)支持16路RS422接口信号,传输速率不低于115.2kbps,IOC模块与CPM模块的数据交换采用64KByte双端口存储器。③离散量接口模块(DAM)支持64路开关型离散量输入输出接口;2路频率量输入;12位A/D转换器和12位:D/A转换器。④图形处理模块(GPM)用于显示图形,支持OpenGL标准接口软件。⑤MBI模块主要提供1553B外总线接口,PSM为电源支持模块。(2)本项目软件主要工作在CPM模块中,完成对外部设备的数据采集、分析和相应的控制,将监视结果以图形方式显示给驾驶员。该系统的软件主要包括外部接口驱动软件、VME数据传输软件、处理软件、图形显示和外总线(1553B)数据交换软件。要求数据的采集必须确保每帧数据无丢失,并在本帧内完成数据的处理工作,本帧信息显示给驾驶员的时刻最晚不能超过下帧。详细的技术要求如下。①16路RS422接口主要完成对汽车燃油系统、动力系统和驾驶员命令的数据采集与控制。RS422数据传输格式将以32Byte为基本数据块,分别以20ms、40ms、60ms和1s四个不同周期交换数据。②64路离散量数据主要监控发动机工作状态,要求每10ms采集一次,并在下一个10ms周期内将发动机状况显示到驾驶员座舱。③多路模拟量数据主要采集发动机转速、油量及汽车的其他数据,为驾驶员监控汽车状态提供必要的量化数据。模拟量数据的刷新频率为1s。④外总线(1553B)主要完成该系统与汽车其他电子系统的数据交换。公司将本项目交给项目主管李工实施,要求李工按技术要求完成本项目的软件设计工作,公司根据合同关于“数据的采集必须确保每帧数据无丢失,并在本帧内完成数据的处理工作,本帧信息显示给驾驶员的时刻最晚不能超过下帧”的要求,提醒李工设计中重点考虑整个系统的实时性问题。李工完成设计后,提交公司评审,会上就李工设计中存在的缺陷展开了激烈讨论,最终达成一致。李工在设计IOC模块软件时指出:为了使CPM模块能够及时处理RS422数据,在IOC与CPM间的双端口存储器中为每个422通道设计一级缓冲,当某通道接收一个字节时,就将数据放入缓冲,由CPM接收(其结构如图3-2所示)。这样的好处在于每当有数据输入时,CPM模块可立即读取,而增大双口缓冲的目的是在CPM来不及处理时可防止数据的丢失。同时,IOC中的程序相对简单、实时性好、可以不考虑422通道的数据传输周期,只要按查询方式对16路422输入进行查询读取即可。会上,王工提出了强烈的反对意见,认为这种设计方法绝对不可取,这种方法只考虑了软件的简单与便利,而没有针对软件特点考虑问题,在设计中对实时性、负载平衡分配及实现算法上均存在缺陷,必须改进。(1)你认为李工的设计在实时性、负载平衡分配和实现算法上存在怎样的缺陷?详细说明理由。(2)请给出IOC模块和CPM模块之间双口存储器数据交换方法。

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

参考答案和解析
正确答案: ①宇航嵌入式系统是一种硬实时系统,要求对外部事件做出快速响应(一般在毫秒级),因此,硬实时操作系统在实时处理和相应的方面优于一般嵌入式操作系统,故王工提出的选用具有硬实时处理能力的嵌入式操作系统方案可行。
②从资源的约束性来讲,宇航嵌入式系统由于受空间和重量的限制,操作系统代码不宜过于庞大,选择具有可裁剪功能的操作系统更适应本项目。
③宇航嵌入式系统要求软件可靠性要高,而王工选择的操作系统已经过相关部门验证,其可靠性高于李工所选的操作系统。
解析: 暂无解析
更多“问答题某研究所承担了一项宇航嵌入式系统的研制任务,本项任务技术难度大、可靠性要求高、进度要求紧,预计软件规模约在一万行以上。而该所原先承担的相关项目均是用汇编语言编写(软件规模较小,一般是几百行)。项目主管工程师将软件开发的论证工作分别布置给了王工和李工,要求他们根据本项目的技术要求,在一周内分别提出软件的实施方案。 ①该宇航嵌入式系统由数据处理机、信号处理机及数据采集模块组成。信号处理机主要通过数据采集模块将大量不同时间周期的外部数据采集进来,进行预处理(如FFT变换)后提交给数据处理机;数据处理机根据”相关问题
  • 第1题:

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

    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个通用模块之一的任何一个模块发生故障后,将故障模块的任务迁移到备份模块运行:冷备、温备和热备是三种备份方式,可根据宇航系统的总体备份时间或重要程度安排不同的备份算法。

  • 第2题:

    根据CT工作原理,指出下列哪一项是错误的

    A.计算机控制扫描数据采集图像重建显示和存储各个环节

    B.探测器接受的信号须放大并经过模/数转换

    C.模/数转换后的数据为显示数据

    D.Ap(阵列处理机)处理后的数据为显示数据

    E.图像存储


    正确答案:C

  • 第3题:

    阅读以下关于工业控制系统软件方面的叙述,在回答问题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]
    本问题主要是要求考生通过对题目的理解,根据题目给出的技术参数和硬件结构,设计出配套的人员组织和典型余度实现的具体方法,包括软件项目组织、语言的选择和具体的表决方法。考生应抓住命题中内容要点,通过项目分解,给出余度设计的几种方法。本题主要考察考生分析问题的能力。开发人员的相互独立性、不同种高级语言的使用以及表决算法的设计是高可靠性控制系统必须考虑的三大因数。

  • 第4题:

    请详细阅读有关嵌入式实时操作系统方面的描述,回答问题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

  • 第5题:

    阅读以下关于嵌入式系统开发的叙述,在答题纸上回答问题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) 移动智能终端软件编码虽然也要遵循一定的编码标准,但在安全编码、扇入扇出、圈复杂度等方面没有严格要求。

  • 第6题:

    试题三(25分)阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1至问题3。某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024KB)、4路422半双工串口接口(其中两路的频率115200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下(注:B:字节;s:秒;ms:毫秒):(1)系统要求以5ms为周期从双口存储器中采集1024KB的输入数据,处理任务的时间约为1ms;(称为5ms任务)(2)系统要求以20ms为周期从两路422接口(115200Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令;(称为20ms任务)(3)系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms任务)4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms。(称为1s任务)本公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工程师(简称李工)提出了为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工程师(简称王工)提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。[问题1](10分)请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?[问题2](10分)李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。[问题3](5分)根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入/输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。


    答案:
    解析:
    【问题1】采用嵌入式实时操作系统的主要理由及优点:操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能:(1)任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。(2)操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。(3)操作系统对可靠性有较强的保障支持能力。(4)使用简单,支撑环境配套好,可配置、可剪裁能力强。【问题2】嵌入式实时系统中时间性能评估主要考虑以下几个因素:(1)系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。(2)保证所有任务在规定的时间期限内完成(或进行可调度性评估)。(3)任务的上下文切换时间和中断响应时间。针对本题的具体数据,系统的工作时序关系应该是:系统的最小时间节拍定义为5ms,系统最大工作周期为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。【问题3]优先级策略:小周期优先策略。数据输入输出处理方式:422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。AD、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。

  • 第7题:

    A公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。
    系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133 MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024 KB)、4路422半双工串口接口(其中两路的频率115200 Hz,另两路频率38400 Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下:
    (1)系统要求以5 ms为周期从双口存储器中采集1024 KB的输入数据,处理任务的时间约为1ms(称为5ms任务)。
    (2)系统要求以20 ms为周期从两路422接口(115200 Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4 ms)任务后,分别输出大小为16 B的控制命令(称为20 ms任务)。
    (3)系统要求以60 ms为周期从两路422接口(38400 Hz)中采集一定数据格式的大小为6 B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2 ms)任务后,分别输出大小为2 B的控制命令和一个28位D/A数据,输出8路离散量控制数据(称为60ms任务);
    (4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms(称为1s任务)。
    A公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工提出为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。
    【问题1】
    请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?
    【问题2】
    李工和王工通过认真地对需求进行分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。
    【问题3】
    根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。


    答案:
    解析:
    【问题1】
    采用嵌入式实时操作系统的主要理由及优点:
    操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和任务间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。
    采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。
    选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能:
    (1)任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。
    (2)操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。
    (3)操作系统对可靠性有较强的保障支持能力。
    (4)使用简单,支撑环境配套好,可配置、可剪裁能力强。
    【问题2】
    嵌入式实时系统中时间性能评估主要考虑以下几个因素:
    (1)系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。
    (2)保证所有任务在规定的时间期限内完成(或进行可调度性评估)。
    (3)任务的上下文切换时间和中断响应时间。
    针对本题的具体数据,系统的工作时序关系应该是:
    系统的最小时间节拍定义为5ms,系统最大工作周期为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20 ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。
    【问题3】
    优先级策略:小周期优先策略。
    数据输入输出处理方式:422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。A/D、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。
    【解析】

    本题主要考查嵌入式系统的操作系统设计或选型要求,考查在保证完成各个实时任务的前提下,如何设计任务调度方案。
    【问题1】
    实时系统是指系统计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统错误,严重情况下会产生灾难性后果。实时系统在经济、航天、军事、科学等多个领域中起着重要的作用。
    实时操作系统主要负责实时系统的任务调度、资源分配、系统检测、可靠性保证等,并提供简单、易用的使用开发接口,为保证实时性,其内核应该是"短小精干",执行时占用CPU时间和其他开销很少。根据情况,实时操作系统可以直接在裸机上开发,也可直接应用商用嵌入式实时操作系统。
    李工认为在裸机上直接开发实时性好,王工认为采用嵌入式实时操作系统可靠性好。系统并没有给出拟采用的操作系统的具体性能指标,但题目中指出"课题组最后采用了王工的建议",可以判断该操作系统既有好的可靠性,又能满足实时性要求。
    【问题2】
    系统的任务按照执行的周期进行了分类,包括5ms任务(即在5ms、10ms、15ms等时刻,该任务需要被唤醒执行)、20ms任务、60ms任务和1s任务(系统软硬件测试)。
    系统的最小时间节拍定义为5ms,系统最大工作周期(或称主时间框架)为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20 ms的起点,则启动20 ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。工作流程如图8-1所示。

    【问题3】
    根据图8-1,可知需要采用小周期优先策略,即任务优先级排序从低到高为1s任务→60ms任务→20ms任务→5ms任务。
    因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。所以,422接口适合采用中断方式。
    双口存储器和离散量接口由于是直接访问存储器,所以采用查询方式比较合适。
    A/D、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。

  • 第8题:

    微机监控系统,由()、()和开关量数据采集处理机子系统构成。


    正确答案:监控主机;模拟量

  • 第9题:

    根据CT工作原理,以下选择哪项是错误的()

    • A、探测器接收的信号须放大并经过模/数转换
    • B、模/数转换后的数据为显示数据
    • C、AP(阵列处理机)处理后的数据为显示数据
    • D、计算机控制扫描、数据采集、图像重建、显示和存储各个环节
    • E、图像存储包括摄片、磁带及光盘存储

    正确答案:B

  • 第10题:

    单选题
    根据CT工作原理,下列哪一项是错误的(  )。
    A

    探测器接收的信号须放大并经过模/数转换

    B

    模/数转换后的数据为显示数据

    C

    计算机控制扫描、数据采集、图像重建、显示和存储各个环节

    D

    Ap(阵列处理机)处理后的数据为显示数据

    E

    图像存储包括拍片、磁带激光盘存储


    正确答案: E
    解析:
    A项,用X射线束对人体某部一定厚度的层面进行扫描,由探测器接收透过该层面的X射线,转变为可见光后,由光电转换变为电信号,再经模拟/数字转换器转为数字,输入计算机处理。BD项,阵列处理机处理后的数据才是显示数据。C项,工作原理包括数据采集、数据处理、图像重建、图像显示等。E项,图像存储包括拍片、磁带激光盘存储。

  • 第11题:

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

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

  • 第12题:

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

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

  • 第13题:

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

    【问题1】(共9分)

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

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

    【问题2】(共16分)

    完成该项目总体设计后,王工将软件设计工作交给李工,要求李工在原有软件基础上,完成新环境下的软件设计。经分析,李工统计出了原系统的任务基本情况(见表3-1)。原系统包含三个子系统,为了保证各子系统软件间的相对独立性,将三个子系统移植到新系统的三个分区工作,假设将&ldquo;显示子系统&rdquo;、&ldquo;雷达子系统&rdquo;和&ldquo;任务子系统&rdquo;分别用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

  • 第14题:

    试题四(25 分)

    阅读以下关于工业控制系统软件方面的叙述,在答题纸上回答问题 1 至问题 4。 某公司新近签订了一份控制系统软件的研制合同。合同技术要求如下:

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

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

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

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

    【问题 1】 (12 分)

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

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

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

    【问题 2】 (7 分)

    请用 200 字以内的文字说明李工应如何设计优先级调度策略,并按照表 4-1 的要求实现任务流程处理。

    【问题 3】 (3 分)

    图 4-2 为控制软件的数据流程关系,请根据本题给出的各个功能模块,填补其中的空缺处。

    【问题 4】 (3 分)

    请用 150 字以内的文字说明什么是系统失步,系统失步后应如何处理。


    正确答案:

  • 第15题:

    阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题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]
    说明不采用在裸机上自行研发操作系统,而直接采用商品化的嵌入式实时操作系统的理由,还要说明实时操作系统的性能要求。

  • 第16题:

    某公司新近签订了一份控制系统软件的研制合同。合同技术要求如下:(1)本控制系统的软件运行平台拟采用嵌入式实时操作系统,控制系统的工作周期为10ms,要求控制软件能够精确地按事先预定的时间顺序完成数据的采集、处理和输出。(2)为了提高整个系统的可靠性,控制系统采用容错处理,即用两个相对独立的计算机承担相同的工作,通过交叉对比,实现控制的双余度管理;当任何一台计算机出现故障时,系统可以进行单余度控制。系统结构如图 8-2所示。


    公司总工程师将本项任务交付给项目主管李工程师实施,要求李工按双方合同要求完成本项目的策划、需求分析和方案设计工作,重点强调系统的可靠性要求,并特别提示:目前比较流行的嵌入式操作系统普遍采用可抢占式优先级调度策略,不能满足用户关于“能够精确地按事先预定的时间顺序完成数据的采集、处理和输出”的要求。 【问题1】李工接到任务后,认为本项目比较简单,很快就安排3名技术人员分别负责数据采集/输出模块、数据处理模块和比较监控模块的编写。总工程师听到汇报后,认为李工的方案和安排不妥,理由是李工忽视了系统的可靠性要求,对系统需求的理解不够深入为实现系统关于可靠性方面的需求: (1)你认为在组织结构、人员分工、设计开发等方面应做出哪些安排和规定? (2)请写出关于余度表决算法的考虑。 【问题2】请用200字以内的文字说明李工应如何设计优先级调度策略,并按照表8-3的要求实现任务流程处理。 【问题3】图8-3为控制软件的数据流程关系,请根据本题给出的各个功能模块,填补其中的空缺处。


    答案:
    解析:
    一、试题分析在可靠性要求极高的控制系统中(如航空、航天和核电厂等领域),控制设备的可靠性问题始终是嵌入式领域待解决的问题。一旦发生控制错误,将会引起机毁人亡的惨剧,设置带来区域性的灾难,因此,余度技术是计算机技术中最为关键的技术。在传统的余度控制计算机系统中,为了保证系统的实时性和控制的完整性,一般不采用嵌入式操作系统,而是用软件直接控制硬件的方式实施,但随着计算机技术发展,软件开发手段的不断完善,目前广泛应用了嵌入式实时操作系统作为余度软件的基本支持平台。但是,为了确保实时性要求,达到余度管理同步操作的精确性,必然对操作系统加以限制。本题重点是考核考生如何应用余度技术完成高可靠性控制系统的策划与设计的能力。1. 总结问题的要点本题主要是围绕具有高可靠性控制系统这一应用背景来考虑的,考察相关领域考生对具有余度需求的项目进行组织、策划和设计的方法。作为系统分析师,在启动项目之前,应学会充分论证用户需求对实施过程的组织能力。本题的主要要点应该包括以下几方面内容:n 项目的组织要合理,解决由于人员素质的差异而带来的软件缺陷。n 采用的编程语言要有一定冗余能力,以预防语言的二义性带来的软件缺陷。n 设计方法要合理,针对两余度硬件平台的特点,重点考虑两余度的设计策略,n 实现余度间交叉对比和失步后的处理方法。因此,本题的选用具有一定的普遍性。【问题1】本问题主要是要求考生通过对题目的理解,根据题目给出的技术参数和硬件结构,设计出配套的人员组织和典型余度实现的具体方法,包括软件项目组织、语言的选择和具体的表决方法。考生应抓住命题中内容要点,通过项目分解,给出余度设计的几种方法。本题主要考察考生分析问题的能力。开发人员的相互独立性、不同种高级语言的使用以及表决算法的设计是高可靠性控制系统必须考虑的三大因素。【问题2】本问题是在通用操作系统的基础上,为了达到本题所要求的“能够精确地按事先预定的时间顺序完成数据的采集、处理和输出”这一技术特点,在问题一总体思路的基础上,给出在操作系统之上实现精确的交叉对比与系统同步的方法。要求考生对操作系统的任务调度方法有一定的了解,这样才能准确回答此问题。本题主要考验考生在嵌入式实时操作系统之上开发任务确定性调度的设计方法,需要根据题中表内所示的10ms内的任务分派情况,设计出系统软件定时器的节拍数和对操作系统中任务管理的限制等问题,重点衡量对嵌入式系统知识面的掌握程度。【问题3】本题包含两个问题,其一是根据本题给出的两余度数据处理流程的关系,以填空方式,给出流程中默认的处理功能及数据流关系。本题主要考验考试对余度管理的具体处理步骤的熟悉程度;其二是说明在系统发生失步的情况下,如何继承性地处理余度数据。2. 根据问题要点,仔细阅读正文,找出相应的段落本题第二段描述了问题的所在,从图8-2中可以看出,本题的余度方案是两余度系统,输入是一个数据源进入计算机系统,在系统内一分为二,分别输入到不同的计算机中;而输出仅有一路,这说明,两个计算机分别处理完后,通过交叉对比,选择最为接近的数据作为输出数据。理解了这一点,对余度系统的设计具有一定的帮助。本题的第一段值得关注,尤其是文中提到的“要求控制软件能够精确地按事先预定的时间顺序完成数据采集、处理和输出”,是本题关键所在,也是回答【问题2】的基础。本题的第三段主要通过“10ms工作周期内的时间分配表”间接地描述余度管理的重要功能流程,考生可根据本题上述描述的内容,确定性描绘出本题的控制流程。而失步问题值得关注,本题中没有明确提出,但是,作为余度系统,失步是重要的处理环节,考生必须知道。3. 分析试题的内容,构思答案要点通过前两步的分析与归纳,余度问题将是本题首要关注内容之一,也是提高系统可靠性极为重要的考虑内容。通过组织管理、在消化了余度管理核心思想的基础上,主要对任务调度管理、同步设计等关键技术进行解决,就可以设计出较为完善的余度系统。因此,【问题1】和【问题2】是通过对本题的理解而形成答案;【问题3】是基于考生对余度系统理解,完成本命题的流程设计。二、参考答案【问题1】(1)成立两个独立的软件开发小组。两个小组合作编写统一的系统需求稳当和软件功能说明书。两个小组分别进行软件开发,最好使用不同的编程设计语言(如C语言、C++语言和ADA语言)。(2)余度表决算法一般采用主从式。以下假设设计计算机1为主机,计算机2为从机。对输入数据进行交叉对比,如果一致,则用计算机1的数据为数据处理;如果不一致,有历史数据时,计算机1用历史数据为数据处理;无历史数据时,若计算机1和计算机2 的数据中有一个在门限值之内,则使用该数据作为数据处理,若无门限值之内的数据,则计算机1使用默认数据进行处理。交叉对比不一致,应建立故障记录,若故障记录超过门限值,系统变为单余度工作方式。对输出数据进行交叉对比,如果一致,用计算机1的数据为输出数据;如果不一致,且计算机1和计算机2均无历史数据,则计算机1用默认数据作为输出数据。交叉对比不一致,应建立故障记录,若故障记录超过门限值,系统变为单余度工作方式。【问题2】设计时,将本项目的所有任务设定为统一的优先级,避免优先级抢占;根据10ms工作周期内的时间节点划分,设定操作系统的时钟节拍为0.5ms,设计出一个软件定时器;根据软件定时器的计时情况,在事先安排好的时间节点上,分别启动相应的任务工作;如果在规定的时间上任务工作未完成,则按超时处理。原则上使用上一周期的数据。【问题3】(1)数据采集 (2)交叉对比 (3)同步 (4)同步 (5)交叉对比 (6)输出【问题4】计算机1和计算机2进行同步操作时,相互间未能同步上,则称为失步。在一个工作周期开始时,两个计算机在时间上必须同步,一旦发生失步,为了确保系统的稳定,本周期内的工作将采用上一周期的数据进行;如果输出失步,则输出交叉对比功能无效,使用上一周期的输出数据作为本周期的输出。

  • 第17题:

    某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:(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备份②冷备③温备④热备

  • 第18题:

    阅读以下关于嵌入式软件体系架构的叙述,在答题纸上回答问题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个通用模块之一的任何一个模块发生故障后,将故障模块的任务迁移到备份模块运行;冷备、温备和热备是三种备份方式,可根据宇航系统的总体备份时间或重要程度安排不同的备份算法。

  • 第19题:

    关于一体化电网运行智能系统主站数据汇集说法正确的有()

    • A、综合采集模块将采集到的数据送往其他中心的数据处理模块
    • B、生数据经处理转换为熟数据后传给各应用
    • C、基础平台将其采集的硬软件运行环境信息处理后也汇集到数据中心
    • D、数据中心将汇集的数据分别向外提供接口

    正确答案:A,C

  • 第20题:

    根据CT工作原理,指出下列哪一项是错误的()

    • A、计算机控制扫描数据采集图像重建显示和存储各个环节
    • B、探测器接受的信号须放大并经过模/数转换
    • C、模/数转换后的数据为显示数据
    • D、Ap(阵列处理机)处理后的数据为显示数据
    • E、图像存储

    正确答案:C

  • 第21题:

    软件项目开发计划描述的是()。

    • A、说明系统的功能分配,模块划分
    • B、对目标软件的功能、性能、用户界面及运行环境等做出详细的说明
    • C、给出数据逻辑描述和数据采集的各项要求
    • D、为软件项目实施方案制定出的具体计划

    正确答案:D

  • 第22题:

    单选题
    软件项目开发计划描述的是()。
    A

    说明系统的功能分配,模块划分

    B

    对目标软件的功能、性能、用户界面及运行环境等做出详细的说明

    C

    给出数据逻辑描述和数据采集的各项要求

    D

    为软件项目实施方案制定出的具体计划


    正确答案: C
    解析: 暂无解析

  • 第23题:

    问答题
    阅读以下信息系统可靠性问题的说明,在答题纸上回答问题1至问题3。 某软件公司开发一项基于数据流的软件,其系统的主要功能是对输入数据进行多次分析、处理和加工,生成需要的输出数据。需求方对该系统的软件可靠性要求很高,要求系统能够长时间无故障运行。该公司将该系统设计交给王工负责。王工给出该系统的模块示意图如图20-5所示。王工解释:只要各个模块的可靠度足够高,失效率足够低,则整个软件系统的可靠性是有保证的。 李工对王工的方案提出了异议。李工认为王工的说法有两个问题:第一,即使每个模块的可靠度足够高,但是整个软件系统模块之间全部采用串联,则整个软件系统的可靠度明显下降。假设各个模块的可靠度均为0.99,则整个软件系统的可靠度为0.99 4≈0.96:第二,软件系统模块全部采用串联结构时,一旦某个模块失效,则意味着整个软件系统失效。 李工认为,应该在软件系统中采用冗余技术中的动态冗余或者软件容错的N版本程序设计技术,对容易失效或者非常重要的模块进行冗余设计,将模块之间的串联结构部分变为并联结构,来提高整个软件系统的可靠性。同时,李工给出了采用动态冗余技术后的软件系统模块示意图,如图20-6所示。 刘工建议,李工方案中M1和M4模块没有采用容错设计,但是M1和M4发生故障有可能导致严重后果。因此,可以在M1和M4模块设计上采用检错技术,在软件出现故障后能及时发现并报警,提醒维护人员进行处理。 注:假设各个模块的可靠度均为0.99。 在系统可靠性中,可靠度和失效率是两个非常关键的指标,请分别解释其含义。

    正确答案: 可靠度就是系统在规定的条件下、规定的时间内不发生失效的概率。
    失效率又称风险函数,也可以称为条件失效强度,是指运行至此刻系统未出现失效的情况下,单位时间系统出现失效的概率。
    解析: 暂无解析

  • 第24题:

    填空题
    微机监控系统,由()、()和开关量数据采集处理机子系统构成。

    正确答案: 监控主机,模拟量
    解析: 暂无解析