问答题
在设计系统架构时,李工提出了如图1所示的系统架构,即模块间的网络通信采用光纤通信(Fiber Channel,FC)技术,而王工认为应采用VME总线架构,如图2所示。王工的理由是公司多年来基于VME总线技术设计了多个产品,技术成熟,且费用较小。但公司经过评审后,决定采用李工的方案。
请用500字以内的文字,说明VME和FC各自的特点,并针对机载嵌入式系统的要求,指出公司采用李工方案的理由。
图1 基于FC技术的机载嵌入式系统架构
【正确答案】
【答案解析】(1)VME总线采用存储映射方式,多主仲裁机制,同一时刻由单一主机控制,同时仲裁机制为菊花链方式。针对本系统的要求,采用VME方案存在以下问题(但不限于):
①当多主机设备仲裁时,按菊花链的连接次序一个主机处理完成后,才能将控制权交给另一主机控制总线,导致任务执行延时大,不能满足“系统通讯延迟小”以及“支持多模块上的应用任务同步”的要求;
②与FC相比,VME总线实时性差,带宽低;
③VME总线方式限制了可扩展性。
(2)FC具有的特点有(但不限于):传输率高;允许在同一接口上传输多种不同的协议;传输距离远,采用单模光纤作为数据传输介质时,传输距离可高达10km:连接简单灵活;误码率低(BER<10
-12
)等。
针对本系统要求,采用FC方案有以下优点但不限于:
①由于采用消息包交换机制,支持广播和组播,任务执行并发性好,能满足“系统通信延迟小”以及“支持多模块上的应用任务同步”的要求;
②与VME比较,FC实时性好,带宽高;
③FC的误码率低,所以可靠性高;
④允许在同一接口上传输多种不同的协议,对上层应用实现提供了便利;
⑤FC采用消息机制,FC可扩展性好,如果模块较多可采用多个FC网络交换模块级联;
⑥传输距离远,当与外部其他设备相连时,比较方便;
⑦系统采用统一的FC网络代替了VME底板总线,降低总线驱动的功耗,简化了底板
VME(Versa Module Eurocard)总线是一种通用的计算机总线,结合了Motorola公司Versa总线的电气标准和在欧洲建立的Eurocard标准的机械形状因子,是一种开放式架构。它定义了一个在紧密耦合硬件构架中可进行互连数据处理、数据存储和连接外围控制器件的系统。它采用存储映射方式,多主仲裁机制,同一时刻由单一主机控制,同时仲裁机制为菊花链方式。依题意,针对该机载嵌入式系统要求,当多主机设备仲裁时,按菊花链的连接次序将一个主机处理完成后,才能将控制权交给另一个主机来控制总线,导致任务执行延时大,不能满足“系统通信延迟小”以及“支持多模块上的应用任务同步”的要求;VME数据传输速率为0~500Mbps,一般情况下,实际设计的嵌入式系统大多在100Mbps以内,而FC的数据传输速率为1~10Gbps;VME总线方式也限制了可扩展性。
光纤通道(FC)是一种可以为存储网络用户提供高速、高可靠性及稳定安全性的传输技术。其具有的特点是传输率高,允许在同一接口上传输多种不同的协议,传输距离远,采用单模光纤作为数据传输介质时,传输距离可高达10km;连接简单灵活,误码率低(BER<10
-12
)等。
由于FC采用消息包交换机制,支持广播和组播,任务执行并发性好,能满足“系统通信延迟小”以及“支持多模块上的应用任务同步”的要求;与VME比较,FC实时性好,带宽高;允许在同一接口上传输多种不同的协议,对实现上层应用提供了便利;FC采用消息机制,扩展性好,如果模块较多则可采用多个FC网络交换模块级联;传输距离远,当与外部其他设备相连时,比较方便;系统采用统一的FC网络代替了VME底板总线,降低总线驱动的功耗,简化了底板。
综上所述,公司经过评审后,决定采用如图1所示的基于FC的系统结构。
问答题
公司依据ARINC653标准,设计了满足ARINC653标准的操作系统,该操作系统对系统中可能发生的模块级、分区级和进程级的错误进行处理,实现了如图3所示的系统健康监控机制,请分别将备选答案中的各种错误和健康监控部件填入图3中的(1)~(5)。
【正确答案】
【答案解析】(1)进程健康监控
(2)应用进程错误
(3)分区初始化阶段出现的分区配置错误
(4)分区切换时出现的错误
(5)分区健康监控
依据ARINC653标准,健康监控机制用于监视核心处理模块硬件、应用软件和操作系统的状态,当发现故障时,记录故障并进行故障隔离,防止故障蔓延,同时按照故障级别(模块级、分区级、进程级)进行必要的恢复。在如图3所示的系统健康监控机制中,当系统出现故障时,通过故障检测机制(FDM),报告给操作系统的OS健康监控服务程序,OS健康监控服务程序查找系统健康监控表,从而根据错误的级别,分别派遣到模块级健康监控、分区级健康监控和进程级健康监控程序,进一步对故障进行处理(注意:进程级健康监控程序应作为分区内的一个进程)。
错误有可能发生在模块级、分区级和进程级。模块级错误影响模块内的所有分区;分区级错误仅影响该分区;进程级错误影响分区内一个或多个进程,甚至整个分区。
模块级错误一般包括(但不限于):模块初始化时发生的模块配置错误;模块初始化时的其他错误;系统功能执行期间出现的错误;分区切换时发生的错误;电源故障。
分区级错误一般包括(但不限于):分区初始化阶段出现的分区配置错误;分区初始化阶段出现的其他错误;进程管理中的错误;错误处理进程的错误。
进程级错误一般包括(但不限于):应用进程产生的应用错误;非法操作系统请求;进程执行错误(溢出、缓冲区冲突等)。
问答题
为了实现满足ARINC653标准的操作系统的时空分区隔离机制,项目组选择了PowerPC作为数据处理模块的处理器(CPU)。这样,当一个分区出现故障时,不会蔓延到模块中国一处理器的其他分区。
请用500字以内的文字,说明如何采用PowerPC实现应用与内核以及诸应用之间的隔离和保护。
【正确答案】
【答案解析】采用PowerPC实现系统隔离和保护的两种机制是:
①内存管理机制。MMU能够实现逻辑地址到物理地址的转化,并且对访问权进行控制,既可以保护系统内核不受应用软件有意或无意的破坏,也可有效防止各软件之间的互相破坏。
②TRAP系统调用机制。操作系统为实现对内核以及应用之间的保护,提供了用户态和系统态两种运行形态。操作系统内核在系统态运行,因此用户态的应用不能直接调用系统内核提供的功能接口,必须通过TRAP系统调用的方式进行。因此可以实现应用与内核之间的隔离与保护
隔离和保护是ARINC653强调的主要特性,也是高可靠的嵌入式实时操作系统必须解决的重点问题之一。通常,采用内存管理(MMU)机制和TRAP调用机制来实现分区与内核以及分区之间的隔离和保护。对于MMU机制,MMU能够实现逻辑地址到物理地址的转化,并且对访问权进行控制,既可以保护系统内核不受应用软件有意或无意的破坏,也可有效防止各软件之间的互相破坏。
对于TRAP系统调用机制,操作系统为实现对内核以及应用之间的保护,提供了用户态和系统态两种运行形态。操作系统内核在系统态运行,因此用户态的应用不能直接调用系统内核提供的功能接口,必须通过TRAP系统调用的方式进行。因此可以实现应用与内核之间的隔离与保护。