第1题
下面有关嵌入式系统开发过程的描述语句中,不恰当的是:()。
A.在系统设计阶段应该根据系统需要实现的功能,来综合考虑软硬件功能的划分,确定哪些功能由硬件完成,哪些功能由软件完成。
B.在系统设计阶段不仅需要描述用户的功能需求如何实现,且需要描述非功能需求(如:功耗、成本、尺寸等)如何实现。
C.构件设计阶段,设计者需要设计或选择符合系统结构所需要的具体构件。构件通常是指硬件模块,而不包括软件模块。
D.系统集成与测试阶段,应该每次只对一部分构件或模块所集成的系统进行测试,各部测试完成后,再整体测试。
第2题
A.通常嵌入式系统要求具有实时处理的能力,这种实时性主要是靠硬件层来体现的
B.通常嵌入式系统要求支持多任务,能够处理并发事件
C.嵌入式软件的开发需要交叉编译工具
D.电源能量的供应在嵌入式系统中是一项约束条件
第3题
嵌入式软件设计需要考虑()以保障软件良好的可移植性。
A.先进性 B.易用性 C.硬件无关性 D.可靠性
第4题
阅读以下关于嵌入式系统软件设计方面的叙述,回答问题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模块之间双口存储器数据交换方法。
第5题
以下正确描述嵌入式系统的设计流程的是(60)。
A.系统需求分析→硬件和软件划分→系统详细设计→迭代与实现→系统集成→系统测试→系统维护
B.系统需求分析→硬件和软件划分→系统详细设计→系统集成→迭代与实现→系统测试→系统维护
C.系统需求分析→系统集成→硬件和软件划分→系统详细设计→迭代与实现→系统测试→系统维护
D.系统需求分析→硬件和软件划分→迭代与实现→系统详细设计→系统集成→系统测试→系统维护
第6题
第7题
论高可靠性系统中软件容错技术的应用
容错技术是当前计算机领域研究的热点之一,是提高整个系统可靠性的有效途径,许多重要行业(如航空、航天、电力、银行等)对计算机系统提出了高可靠、高可用、高安全的要求,用于保障系统的连续工作,当硬件或软件发生故障后,计算机系统能快速完成故障的定位与处理,确保系统正常工作。
对于可靠性要求高的系统,在系统设计中应充分考虑系统的容错能力,通常,在硬件配置上,采用了冗余备份的方法,以便在资源上保证系统的可靠性。在软件设计上,主要考虑对错误(故障)的过滤、定位和处理,软件的容错算法是软件系统需要解决的关键技术,也是充分发挥硬件资源效率,提高系统可靠性的关键。
请围绕“高可靠性系统中软件容错技术的应用”论题,依次从以下三个方面进行论述。
简述你参与设计和开发的、与容错相关的软件项目以及你所承担的主要工作。
第8题
阅读以下关于嵌入式软件体系架构的叙述。
3. 某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:
(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
(2) 应用软件应与硬件无关,便于软硬件的升级;
(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
(4) 宇航设备可靠性要求高,系统要有故障处理能力。
公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。
[问题1]
用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。
[问题2]
在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。
请说明两种操作系统的主要差异,完成下表中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。
两种操作系统的主要差异
[问题3]
故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。
第10题
【问题1】(12分) 请用300字以内文字说明什么是多核技术和多线程技术,并回答李工的意见是否正确,为什么? 【问题2】(6 分) 在多核环境下,线程的活动有并行和并发两种方式,请用300字以内的文字说明这两种方式的含义及差别。 【问题3】(7 分) 请根据自己所掌握的多核、多线程的知识,判别表 3-1给出的说法是否正确,并将答案写在答题纸上对应空白处(填写正确或错误)。
第11题
阅读以下有关嵌入式系统设计的说明,在答题纸上回答问题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实现应用与内核以及诸应用之间的隔离和保护。