《基于COM 的操作系统在嵌入式系统中的应用.pdf》由会员分享,可在线阅读,更多相关《基于COM 的操作系统在嵌入式系统中的应用.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2004年4月系统工程理论与实践第4期文章编号:100026788(2004)0420112205基于COM的操作系统在嵌入式系统中的应用房红征1,柳克俊2,王剑1,赵贵根1(1.南京理工大学自动化系,江苏 南京210094;2.海军装备论证研究中心,北京100073)摘要:研究基于COM的操作系统在嵌入式系统中的应用的目的是为了更好地在嵌入式系统开发中应用组件技术这一先进的软件开发方法主要从操作系统的COM机制、与微软件COM的比较、操作系统包括的主要组件以及在嵌入式系统中的应用等方面出发,研究了三种典型的可用于嵌入式系统的基于COM的操作系统:OSKit、MML ite、和欣,对这三种操作
2、系统的系统结构、配置能力、应用特点和性能进行了分析与比较,并对其研究前景进行展望,对基于组件的操作系统在嵌入式系统中的应用研究具有参考意义关键词:COM;嵌入式操作系统;OSKit;MML ite;和欣中图分类号:TP316.2文献标识码:AApplication of COM2based Operating System for Embedded SystemFAN G Hong2zheng1,L I U Ke2jun2,WAN G Jian1,ZHAO Gui2gen1(1.Department of A utomation,N anjing U niversity of Science
3、and Technology,N anjing 210094,China;2.China N avalResearch Center,Beijing 100073,China)Abstract:The target of studying the application of COM2based operating system in embedded systemis to make a better application in embedded system w ith component technology,which is the advancesoftware developin
4、g method.From the aspects of the COM mechanism of operating system,the com2parison w ith theM icrosoft COM,the main components of operating system and the application in em2bedded system,the paper studies three typical COM2based operating system s that can be applied in em2bedded system:OSKit,MML it
5、e,and Elastos.It also analyzes the system architecture,configurability,apllication characteristic and performance of these operating system s,and provides several considera2tions on this technology in the future.This w ill be useful to study the application of component2basedoperating system in embe
6、dded system.Key words:COM;RTOS;OSKit;MML ite;Elastos收稿日期:2003204226作者简介:房红征(1972-),男,博士研究生,主要从事信息系统工程及其相关应用研究,Email:;柳克俊(1932-),男,教授,博士生导师,主要研究方向是信息系统工程;王剑,博士研究生,主要研究领域为信息系统工程;赵贵根,博士研究生,主要研究领域为信息系统工程1引言嵌入式系统由于具有体积小、性能强、功耗低、可靠性高以及面向特定行业应用等特点,已得到了广泛的应用在嵌入式系统开发中应用组件技术具有能够减少应用开发代码量、利于软件升级与维护、提高软件生产效率、便于
7、移植和剪裁以及便于共享第三方建立的组件库等优点,因此得到越来越多的重视随着组件技术在嵌入式系统中的应用,基于组件的操作系统由于能很好地支持作为一种设计方法学的基于组件开发的技术,已成为嵌入式操作系统的一个重要的研究方向现有的基于组件的嵌入式操作系统根据其支持组件连接的基础设施的不同主要有以下类型1:基于内核或微内核,如Coyote、PURE、Pebble、Ic2WORKSHOP等,由内核来负责组件连接;基于COM,如OSKit、MML ite、和欣等,系统使用基于COM的接口作为连接组件的手段;基于CORBA反射ORB技术,如2K;基于Java虚拟机,如JavaOS、Jbed等由于COM规范在
8、实践方面比较成熟,应用也较为广泛,基于COM的嵌入式操作系统已成为基于组件的嵌 1995-2005 Tsinghua Tongfang Optical Disc Co.,Ltd.All rights reserved.入式操作系统的应用和研究的一个重要领域本文主要研讨基于COM的操作系统在嵌入式系统中的应用,涉及现有的三种基于COM的操作系统:OSKit、MML ite与“和欣”,重点对“和欣”进行分析研究,并对基于COM的操作系统在嵌入式系统应用中的研究前景进行探讨2OSKitOSKit应用于X86处理器,它本身并不是一个可运行的操作系统,而是构建操作系统的工具OSKit的目标是为操作系统的
9、系统引导、系统初始化、设备驱动等部分提供简单的可复用组件,按照COM规范的要求把操作系统的各个部分封装成尽量独立的COM组件,而各部分的功能则以COM接口的形式提供图1OSKit整体结构(不包括全部组件)示意图OSKit中的COM是微软COM的一个子集,通过把操作系统的各个部分设计成尽可能独立的组件,使开发者可以很方便地使用或替换这些组件来构造自己的操作系统OSKit中组件之间通过彼此定义好的接口相互作用OSKit接口具有以下重要属性2:实现的隐藏,接口独立于实现它们的组件的机制确保了组件对象实现和接口的有效分离;扩展性,任何人都能定义新的接口或扩展现有的接口;简易性,基本接口只包括COM最基
10、础的特征;正交性,在设计上尽可能地彼此独立和正交;不需要客户必须使用接口的公共基础设施或支持代码,任何OSKit组件都能使用OSKit接口,不需要所有客户必须通过链接来使用接口的“支持库”,这是OSKit与微软COM在W in32环境应用之间的一个重要区别OSKit从其他成熟的操作系统如L inux、M ach、FreeBSD中继承代码,使用了“封装”技术将从现有系统引用的代码封装在新的环境中3OSKit定义了一套接口,客户OS通过它引发OSKit服务,OSKit组件通过胶水代码层实现了这些服务OSKit与微软COM的组件注册方式有所不同,还没有了微软COM中获取组件的运行库及COM存根生成器
11、在开发过程中,被复用的组件库将被静态链接到目标操作系统的核心中OSKit主要组件有:内核支持库,目的是方便客户OS访问硬件设施;引导程序,支持多启动(M ulti Boot)标准;内存管理,包括基于列表的内存管理器(LMM)和地址映射管理器(AMM);调试支持,为操作系统开发提供一个完全的源代码级的内核调试环境;设备驱动支持,采用了为L inux和BSD内核开发的稳定的和经过良好测试的驱动;文件系统,引入了N etBSD、FreeBSD和L inux文件系统代码此外还有最小化C语言库、TCP?IP网络协议栈等组件OSKit提供了类似于COM的组件来实现典型的操作系统功能FLUX小组宣称OSKi
12、t将支持实时的嵌入式应用,它提供的许多实时的系统调用以及新增的扩展的多线程和高级的调度支持,在提供构建整个操作系统的基于组件的方法同时还为嵌入式应用提供了一个模块化平台为适合嵌入式系统应用,还需在OSKit基础上做工作来开发嵌入式操作系统3MML iteMML ite由微软支持,可运行在X86、ARM、M IPS、68k、MA P1000 VL I W等处理器上MML ite是一个应用较广的模块化的系统体系结构,它提供了一个构造嵌入式系统应用的若干组件的“菜单”,这些组件可以在编译期、链接期和运行期加载4MML ite的特点是:组件化,使得在改变一个组件的同时不会影响到系统的其他部分的运行;小
13、型化,适应了嵌入式系统硬件资源有限的特点;MML ite的组件不依附于系统的某个特定层,可以实现复用MML ite使用了COM机制,但没有实现微软COM规范的库和A P I函数,它使用一个轻量级的COM接口作为其基础设施,因此MML ite的COM是微软COM的一个子集MML ite中的COM机制的311第4期基于COM的操作系统在嵌入式系统中的应用 1995-2005 Tsinghua Tongfang Optical Disc Co.,Ltd.All rights reserved.特点主要表现在突变机制和名字空间上突变(M utation)就是改变一个MML ite组件对象的通常来说不可
14、变的部分,如一个方法实现MML ite通过突变实现对使用中的组件进行透明地替换例如,通过突变机制,在软件的动态升级过程中,可以用正确的方法实现替换掉原先系统中不正确的部分;在设备驱动中,能够用可加载的驱动组件来透明地动态替换原来的驱动组件为了使组件对象对其他组件可用,MML ite将对象注册在一个名字空间(N amespace)上名字空间本身能由不同的组件实现,包括将目录作为子名字空间出口的文件系统,以及作为已注册对象的文件可以将名字空间注册到其他的名字空间中名字空间的数量没有限制一个组件能通过调用CurrentN amespace()函数获取其名字空间MML ite系统组件的菜单中主要包括以
15、下系统组件:加载程序,用于将额外的组件加载到一个运行的系统中,支持多种图像格式;时钟和中断驱动,调度程序通过时钟芯片的驱动来跟踪时间和线程抢占,中断控制单元(ICU)的驱动分发中断并且注册由其他组件安装和卸载的中断例程;调度程序,决定在某个时间运行哪个线程的策略模块,实现了空调度程序(用于只有一个线程的系统)等5个调度程序;线程和同步:包括基本的线程支持和同步原语;名字空间,是一个简单的应用注册对象的引导名字空间;文件系统,用于在运行期加载额外的组件,包括RomFS、FatFS和N etFile;启动程序,一旦系统初始化就进行启动此外还有堆、支持库、机器初始化、TCP?IP网络、W in32兼
16、容库、DMA管理器、虚拟存储实现等组件,最近还增加了W eb Service组件5图2MML ite链接期加载组件的一种最小化系统配置MML ite的设计目标是根据应用存储、安全及应用本身需求和目标硬件能力,通过模块化地灵活加载组件来构建系统例如,应用在手表上的嵌入式系统中的在链接期加载组件的一种最小化配置可由图2所示MML ite系统只占用很少量的存储,图2中的最小化系统占用的存储量在X86上是10k字节MML ite已经应用到多种设备中,包括智能I?O卡和一些开发板,特别是一些高级的图形卡的多媒体应用4和欣(Elastos)北京科泰世纪公司开发的“和欣”(英文名为“Elastos”)是我国
17、为数不多的具有自主知识产权的嵌入式操作系统之一,目前支持的处理器为X86、ARM体系结构和欣是在软件设计方法学和操作系统基础上全面支持组件的下一代因特网操作系统6,除微内核中最底层的控制部分(内存管理、任务管理、进程间通信等)外,所有系统功能(文件系统、网络系统、图形系统、设备驱动等)都以组件模块方式实现,可以根据应用系统的不同需要选择相应的组件来构造用户所需的操作系统,还可在运行时动态替换系统组件和欣中的COM机制是通过ezCOM技术实现的ezCOM技术是面向组件、中间件的编程模型,它规定了一组组件间相互调用的标准,使得二进制组件能够自描述,能够在运行时动态链接ezCOM符合COM标准并与C
18、OM兼容,保证了ezCOM组件与COM组件一样具有很强的互操作性为了适应嵌入式系统开发的低功耗、低成本、实时等要求,ezCOM去除了COM中的一些复杂的扩展功能和服务,对COM进行优化以提高嵌入式操作系统的性能,如具体规定接口函数的数据类型、由ezCOM库自动生成进程外通信所需的proxy?stub、进程外和进程内组件服务器统一使用动态链接库(.DLL)形式等ezCOM还对COM进行了扩展7,主要有:图3ezCOM客户和服务器的实现与ezCOM库、辅助实现库、工具库之间的关系1)增加ezCOM工具库和ezCOM辅助实现库如图3所示,ezCOM库起着与COM中的COM库类似的作用,ezCOM工具
19、库从ezCOM服务器端获得ez2COM组件的接口信息,对这些信息进行解释,并通过自动生成ezCOM客户和ezCOM服务器实现所需的文件来实现对二者的支持ezCOM工具库使得ezCOM客户可以将琐碎的接口引用计数的实现交给ezCOM工具库自动生成的支持文件去处理ezCOM辅助实现库提供的支持主要包括类厂的实现、类厂创建和组件对象的注册等,这样ez2COM服务器必须为每个ezCOM组件创建的类厂的实现可以移到ezCOM辅助实现库中实现411系统工程理论与实践2004年4月 1995-2005 Tsinghua Tongfang Optical Disc Co.,Ltd.All rights res
20、erved.2)对COM的用户界面进行了简化包装图4ezCOM客户、ezCOM组件对象和封装层之间的调用关系在ezCOM中增加了ezCOM客户和ezCOM组件对象互操作之间的封装层,隐蔽了ezCOM客户调用ezCOM组件对象过程中的琐碎细节,使得使用ezCOM组件对象就像C+对象那样简单,大大简化了客户端实现ezCOM的类封装与微软A TL的智能指针的基本思想相同,但实现方式和程度不同A TL使用C+的模板类实现,只对组件对象的接口指针进行封装;ezCOM则直接采用简单的C+类实现封装,将对指针的应用转化为对对象的应用,是对ezCOM组件对象使用整个过程的封装,较为完全例如,ezCOM中的智能
21、指针对组件的接口进行了封装,使用户无需关心COM中繁琐的A ddRef()和Release()函数调用3)CDL语言扩展了COM中的I DL语言CDL(Component Definition L anguage)是ezCOM的描述语言,在包含了I DL语言基本特性基础上又作了新的扩展CDL文件用于定义组件中的类、接口以及接口方法等信息,可以很方便地在CDL语言中增加一些简单的属性来获得ezCOM一些重要的特性ezCOM对COM的其他扩展工作还包括:完备了组件及其接口的自描述功能,这能够降低服务组件的负载,减少数据的二义性,满足组件兼容性的要求;增加的标准接口的实现类简化了ezCOM组件类,实
22、现了ezCOM组件类的固定实现和动态实现的分离;采用动态对象创建机制实现类厂,克服了COM服务器在实现类厂过程中产生大量重复代码等不足和欣提供了开发嵌入式应用系统的一些动态链接组件库,主要有:图形系统组件库,由GD I类组件、图形系统控件类组件、图像类组件组成;设备驱动组件库;文件系统组件库,FA T兼容,包括对FLA SH等的支持;网络系统组件库,支持TCP?IP和欣提供了W indow s 2000?XP环境下的SDK,包括ezCOM开发环境、组件库、通信和调试工具以及完整的文档等,帮助用户运用和欣技术体系所包括的ezCOM组件技术、和欣组件运行平台技术来实现对应用软件的基于组件的开发和欣
23、可应用于工业装备、信息家电、汽车电子、手持设备、办公设备、商业电子、信息安全、军事国防等领域的各种嵌入式设备,目前已在高压大功率变频电机控制系统、面向网络应用的组件化嵌入式地理信息系统、高性能数控机床控制器、网络终端、二维条码识别终端等具体项目中得到了应用5应用分析与研究展望5.1应用分析在本文介绍的三种基于COM的操作系统中,OSKit是学术研究领域的系统,MML ite与和欣是工业应用的系统,它们都处于不断发展完善的过程中三者共同之处在于都采用了COM的一个子集,从而避免了COM规范带来的繁琐与OSKit的“粗”粒度组件相比,MML ite与和欣则使用了“细”粒度的组件,从而更适合于嵌入式
24、系统应用从系统结构看,OSKit表明一套基本的组件能够以不同的方式组成来构建一个操作系统内核,它的粒度较粗,而且技术局限于静态链接;MML ite与和欣在实现中都是动态链接的在OSKit中,操作系统研究的一部分组件如IPC、调度等不能被替换或移动;在和欣中,内存管理、任务管理、进程间通信等被包括在微内核中,其他系统组件在动态过程中加载这些工作和MML ite有相似之处,但在组件化程度上没有MML ite走得远从配置能力看,MML ite与和欣都支持操作系统组件的替换,这是OSKit不具备的从应用特点看,OSKit提供了一些方便的组件,如启动加载程序和文件系统,重点放在如何复用现有的设备驱动代码
25、上;MML ite将核心服务组件化,主要用在先进的图形卡等应用中,也可应用于W eb Ser2vice;和欣的用途较广,它所包含的技术是一个集编程模型、操作系统、跨平台技术、开发环境等许多概念与技术于一体的完整技术体系,作为面向下一代的网络操作系统,在利用创新的ezCOM技术和先进的中间件技术实现网络应用上具有优势511第4期基于COM的操作系统在嵌入式系统中的应用 1995-2005 Tsinghua Tongfang Optical Disc Co.,Ltd.All rights reserved.从性能上看,MML ite的小型化适应了嵌入式系统的要求,组件占用空间很有效在和欣组件运行平
26、台上直接运行二进制组件,实现的二进制代码(即CPU指令流)符合嵌入式系统的对运行效率、实时性的严格要求,这是目前存在的虚拟机系统,如JavaOS等基于Java虚拟机的系统所不能及的,基于Java虚拟机的系统产生的字节流并不真正适合于硬实时的嵌入式应用在嵌入式系统基于组件的开发中,ezCOM技术会增加内核代码量,但同时也将会大大减少各种应用软件与操作系统的总体资源开销5.2研究展望嵌入式系统中应用的基于COM的操作系统是基于组件的操作系统的一部分在其他的基于组件的嵌入式操作系统中,Pebble8可在保护域上运行,能够为组件提供内存保护,而在基于COM的系统中,组件运行在组件之间没有保护的地址空间
27、内;与MML ite相比,V EST9提供了更多的分析能力、分析工具和配置支持;TH I N K10的组件基础设施基于开放分布式处理参考模型ODP,它提供了一个统一和灵活的“绑定模型”来帮助操作系统体系结构以不同的方式组装操作系统软件,在异构环境中具有比OSKit更多的灵活性在CORBA、COM中进行了许多基于组件的开发的工作,但在嵌入式系统开发中能够应用的合适的组件则很少,主要原因是大部分基于CORBA、COM的组件没有很好地处理实时、内存和功耗等问题,它们产生的是不适合嵌入式系统应用的“重量级”组件,并且这些系统不具备足够的分析能力已经有一些关于实时COM的研究11,但与实时CORBA的研
28、究相比不够深入(OM G已经发布了针对嵌入式系统的规范m ini mum CORBA)COM是一个开放的和不断发展的体系,在实际应用中只有COM功能的核心对于产生一个组件框架才是必要的,它使用的基本模型足够提供一个完整的组件框架,额外的功能使组件模型复杂化并降低了效率在嵌入式系统开发中所需要的是一种新型的、轻量级的、与嵌入式系统的物理和实时属性有关的组件和接口,关于这种COM接口的研究是将来基于COM的嵌入式操作系统研究的重点另外,根据嵌入式系统要求的内存大小、执行时间、容错率、安全性和QoS等要求,需要对COM机制作一些功能方面的加强(如ezCOM对COM的优化和扩展工作)与组件有关的配置信
29、息和分析、配置工具也是未来的一个研究方向,目前在配置过程中的组件选取和参数化、分析、合适的硬件和内存布局的选择等问题都还存在一些问题最后,如何指导开发者来选择正确的COM组件以满足空间、时间、功耗和市场周期等方面的需求也是一个重要的研究方向参考文献:1Friedrich L,StankovicJ,HumphreyM,et al.A survey of configurable,component2based operating system s for em2bedded applications J.IEEE M icro,2001,(9):54-67.2U niversity of U t
30、ah Flux Research Group.The OSKit version 0.97EB?OL.http:?www.cs.utah.edu?projects?flux?oskit?,2002-3?2003-3.3Ford B,Back G,Benson G,et al.The Flux OSKit:A substrate for kernel and language research A.Proc.16thACM Symp.Operating System s PrinciplesC,N ew York,1997,38-51.4Helander J,Forin A.MML ite:a
31、highly componentized system architecture A.Proc 8th ACM Special InterestGroup On Operating System s EuropeanWorkshop(SIGOPS)C,N ew York,1998.96-103.5Forin A,Helander J,Pham P,et al.Component based invisible computing EB?OL.http:?rd?72592982,483885,1,0.25,Download?http:?cache?papers?cs?25653?http:zSz
32、zSzrtds.cs.tamu.eduzSzhelander.pdf?forin01component.pdf,2001-12?2003-1.6北京科泰世纪公司.和欣1.0 资料大全EB?OL.http:?,2003-1.7张晓梅.组件系统在嵌入式操作系统上的应用D.福州:福州大学计算机系.2001.8Gabber E,Small C,Bruno J.The pebble component2based operating system A.ProcU SEN IX A nnual TechnicalConferenceC.U SEN IX A ssoc,1999,267-282.9Stank
33、ovic J.V EST:A toolset for constructing and analyzing component based operating system s for embedded andrealti me system s R.Department of Computer Science,U niversity of V irginia.2000.10Fassino J,StefaniJ,L awall J,et al.Think:A software framework for component2based operating system kernelA.In P
34、roceedings of the U SEN IX A nnual Technical ConferenceC,2002,73-86.11Deji Chen,A loysiusM ok,M ark N ixon.Real2ti me Support in COM EB?OL.http:?puter.org?pro2ceedings?hicss?0001?00013?00013005.PDF.1999-1?2003-3.611系统工程理论与实践2004年4月 1995-2005 Tsinghua Tongfang Optical Disc Co.,Ltd.All rights reserved.