操作系统与模块支持层隔离机制的研究.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:4 大小:237KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

操作系统与模块支持层隔离机制的研究.pdf

操作系统与模块支持层隔离机制的研究.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据W化、模块化、软件化、综合操作系统与模块支持层隔离机制的研究勋零ResearchMechanismModuleofIsolationbetween0SandSupportLayer/1,化和邋罔化的发展越势,、,一、简他的软件结构模型航空科学蓉金一'李键李鹏藉霎:薏一代靛空毫子系统是一襻离麦综合化、模块纯的系统,爱用层次性的软缍体系结构霹以减低软谗舞发关键漏:操作系统搂块支持鬃隔离规铡⋯一●⋯⋯⋯口中国航空计算技术研究所冯晓东马泰江费用、提高系统安全性。本文参考欧洲航空电子标准ASAAC,对操作系统与模块支持层的隔离机制进行了深入研究。分析了嵌入式操作系统VxWorks结构,尝试了将其内核和模块支持层进行隔离。了适臌航空电子系统数字匿磐的靛空电予系统逐渐莰廉霄懿体系结构发展为综合模块化航空电子系统(IMA),并制定了满足新一代飞机综合化要求的技术标准(如ARINC、ASAAC等)。ASAAC是欧溯各国共同研究和推动的新一代航空电子标准。攫于软件在未来航空电子系统的重要性,ASAAC标准中不再用一个软件包来控制整个系统,焉是将软耱麸整体主分秀三鬃,其软件结构模型如图l所示。这种结构模型使应用软件、操作系统与硬件模块相互隔离,以便于各部分的独立升级。其中,MOS接口是操作系统层与模块支持层之间的接翻。如果能够定义并实现这祥的接秘为薪一找靛空电子系统综合化中的系统软件提供基本的运行支持环境,那么操作系统在不同类型CPU之间以及相同CPU不同外围设备的处理机摸块之阙的移植将得班简化,软件的可势级性、可移植性、可燕用性得以提高,系统的升级和维护将更加容易,进而航电系统中机载欺锌的开发成本得以迸一步降低。因鲍研究操露系统与模块支持层的隔离机制,实现MOS接口有着极其燕要的意义。ASAAC标准中(如图1所示)的软件结构是一个理想模型,目前国内还没有完全满足该标准的操终系统。本文选取国内在强实时性、高霹靠性的嵌入式系统中广泛使用的VxWorks操作系统来展开操作系统与模块支持层隔离机制的研究。VxWorks作为成熟的商用操作系统,其系统内核部分是不对外公开的。鉴于资源与经验的限制,实现VxWorks操佟系统和模块支持艨的完全隔离尚存在较大难度。从探索隔离机制的目的出发,本文对圈l提出的软件结构模型进行了简化,簿纯模型如图2所示。根据简化的结构模型,本文将主要研究如何将ASAAC标准申的MOS函数作为模块支持屡与撵侔系统内核的接阴,实现VxWorks中硬件相关操作与Wind内核的隔离。该项目由航交科学基金资助《潞助编号:2006ZC31002l一。航空科学技术I125‘●*v⋯⋯⋯。⋯。⋯⋯⋯1t⋯⋯●⋯⋯⋯⋯J⋯⋯‘’r’⋯M^*⋯⋯●●⋯⋯⋯一⋯⋯●⋯⋯⋯-⋯-⋯⋯⋯⋯⋯⋯^⋯‘⋯⋯⋯⋯⋯⋯●十~⋯⋯⋯_⋯2008.3正em8&耐}e耐辩zence}“B0万方数据⋯⋯一一⋯一⋯⋯⋯~⋯⋯———·JF金und二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二]二航n空autAefonaut斜,ce,。学,clen基ce二、对VxWorks的5Yt-f币u改造1.VxWorks结构分析VxWorks操作系统根据与硬件的相关性可分为两大部分:应用工具、I/0系统、文件系统、网络协议和大量的库文件等组件,这些组件没有与硬件相关的操作,属于独立于硬件的部分;而BSP、Wind内核以及SCSI和网络驱动器则属于与硬件相关的部分。VxWorks操作系统的基本结构如图3所示。其中,BSP通常是指针对具体的硬件平台、由用户所编写的启动代码和部分设备驱动程序的集合;Wind内核则是VxWorks操作系统的核心部分,包括了内存管理、中断服务程序和上下文管理等与硬件相关的操作。2.隔离机制的实现方法分析VxWorks操作系统虽然使用BSP结构,并将操作系统所需的大部分与硬件相关的函数放在其中,但是为了提高操作的效率,VxWorks操作系统仍然可以直接访问硬件资源,操作系统和模块支持层之间的界限比较模糊。因此,要在VxWorks中实现操作系统和模块支持层的隔离,就必须明确两者之间的界限,定义一批通用的接口函数,使操作系统不能直接访问硬件,所有对硬件的相关操作都需要通过接口函数来完成。操作系统可以通过系统调用(Syscall)的方法来实现对这批接口函数的调用。使用系统调用的流程如下:提供一个函数库给操作系统,该库包含了接口函数中所有函数和数据结构的类型声明,操作系统可以使用系统调用的方法来调用其中的某个函数。在模块支持层软件中,有一个接口函数调用表,该表维护了所有接口函数的入口地址,在系统调用接口函数时,根据该表执行特定的功能函数。上述调用过程如图4所示。按照上述系统调用的方法可以在软件层次上将操作系统和模块支持层分开。3.隔离