问答题
试题三(25 分)
阅读以下关于嵌入式软件体系架构的叙述,在答题纸上回答问题1 至问题3。
某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:
(1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM 结构);
(2)应用软件应与硬件无关,便于软硬件的升级;
(3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
(4)宇航设备可靠性要求高,系统要有故障处理能力。
公司在接到此项任务后,进行了了反复论证,提出三层栈(TLS)软件总体架构,如图3-1所示,并将软件设计工作交给了李工,要求其在三周内完成软件总体设计工作给出总体设计方案。
问答题
【问题1】(8 分)
用 150 字以内的文字,说明公司制定的TLS 软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。
【正确答案】TLS 结构框架的主要特点:
(1)应用软件与操作系统服务相关,不直接操作硬件。
(2)操作系统通过模块支持原软件访问硬件,可与具体硬件无关。
(3)模块支持层将硬件抽象成标准操作。
(4)通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。
TLS 结构框架的各层内涵是:
(1)应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。
(2)操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API 接口(如POSIX),确保了应用软件的可升级性。
(3)模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。
【答案解析】
问答题
【问题2】(10 分)
在 TLS 软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5 的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考试这一点,建议选择类似于Linux 的操作系统。
请说明两种操作系统的主要差异,完成表3-1 中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。
表3-1 两种操作系统的主要差异
【正确答案】两种操作系统的差异见下表。

【答案解析】
问答题
【问题3】(7 分)
故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150 字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。
【正确答案】(1)嵌入式系统中故障主要分为:
①硬件故障:如CPU、存储器和定时器等;
②应用软件故障:如数值越界、异常和超过等;
③操作系统故障:如越权访问、死锁和资源枯竭等。
(2)滤波算法:
①门限算法
②递减算法
③递增算法
④周期滤波算法
(3)容错算法:
①N+1 备份
②冷备
③温备
④热备
【答案解析】