某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:
(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
(2) 应用软件应与硬件无关,便于软硬件的升级;
(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
(4) 宇航设备可靠性要求高,系统要有故障处理能力。
公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。
解析:
此题目要求考生了解并比较VxWorks和Linux两种嵌入式操作系统的差异,并根据宇航嵌入式设备的特殊需求选择合适的操作系统。
主要差异在于工作方式、多任务支持、实时性、安全性等方面。VxWorks与应用程序处于同一存储空间,而Linux操作系统内核工作与应用程序处于不同的空间。在多任务支持方面,VxWorks多支持任务(线程)操作,而Linux操作系统支持多任务(进程)操作。两种系统都是实时系统,但具体实时性能取决于具体实现和配置。在安全性方面,Linux操作系统内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏,安全性较强。
针对本任务要求,需要选择一个嵌入式操作系统来满足以下要求:设备由多个处理机模块组成,需要时外场可快速更换;应用软件应与硬件无关,便于软硬件的升级;系统要支持完成不同功能任务间的数据隔离;宇航设备可靠性要求高,系统要有故障处理能力。考虑到Linux操作系统的安全性较强,能通过进程和存储器管理部件实现多功能应用间隔离,以及支持硬件抽象等特点,选择Linux嵌入式操作系统较为合适。