日期:2023-01-06 阅读量:0次 所属栏目:外科学
摘 要:随着微电子技术的不断进步,,嵌入式系统中使用嵌入式操作系统成为了一种趋势和必要。各种不同的嵌入式操作系统有着不同的功能和特点,本文选择Vxworks 、C/OS-Ⅱ、CLinux和eCos四种市场上主流的嵌入式操作系统作为研究的切入点。分析它们主要的性能特点和应用范围,比较它们之间的相同点和不同点。为开发系统做前期的选型工作,为后期的嵌入式系统选择一个合适的开发平台。
关键词:嵌入式系统;嵌入式操作系统;选型;功能;特点。
一、引言
随着微电子技术的不断进步,嵌入式处理器由原来的4位和8位升级到16位,同时Flash和RAM技术也在不断的提高,而价格却在不断的下降,存储容量由原来大多数是几KB几十KB,到现在几百KB到几MB。早期的嵌入式系统只能完成一些简单的控制功能,比如遥控和机械手臂控制等,如今随着多媒体化和网络化,需要嵌入式系统可以完成视频播放,游戏控制和网络通信等复杂的功能。硬件水平的进步和应用软件功能需求的提高,使得嵌入式系统必须拥有更强大更复杂的软件代码,嵌入式系统中使用嵌入式操作系统成为了一种趋势和必要。
现在的嵌入式操作系统已经有100多种,它们各自有自己不同的特点和用途,本论文从中选择市场几种主流的嵌入式操作系统,分析它们的主要特点,在比较中了解典型操作系统的性能,并分析开发人员选择嵌入式操作系统的主要因素。
二、Vxworks5.5嵌入式操作系统的特点
VxWorks是由美国Wind River System公司于1983年推出的一款嵌入式实时操作系统。自推出以来,已经成功应用在航空、航天、医疗、通信等多个领域,现在已经成为事实的工业标准和军用标准。Wind River System公司最近又推出了VxWorks6.2及新的开发环境Workbench2.4,并且高版本的VxWorks完全兼容低版本的VxWorks。针对不同的微处理器,其开发环境也有不同的版本,比如有Tornado for ARM,Tornado for MIPS等,用户可以根据自己的硬件需要选择不同的开发版本。
VxWorks操作系统是现在所有独立于处理器的实时系统中最具特色的操作系统之一。其微内核Wind是一个具有较高性能的、标准的嵌入式实时操作系统内核。目前的VxWorks5.5操作系统具有如下一些主要的特点:
高可靠性:稳定、可靠一直是VxWorks的一个突出优点。它已经成功的应用在美国的“勇气”号火星车中。
高性能的Wind微内核设计:该内核支持所有的实时功能:多任务、中断等,这个内核最小可以被裁减到只有8KB左右。
可裁剪性:可根据具体应用定制系统,使系统对资源的需求最小,利用率最高。VxWorks由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。
实时性:实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力。VxWorks的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。
支持应用程序的动态链接和动态下载:应用程序各模块可分别编译、下载、动态链接,方便易用。
具有丰富的网络协议栈:特别适合于网络应用的相关场合。
移植性:绝大部分系统代码是用C编写的,具有良好的移植性。
三、C/OS-Ⅱ嵌入式操作系统概述
C/OS-Ⅱ是一个免费公开源代码的实时嵌入式内核,它提供了实时系统所需的基本功能,包括任务调度、任务管理、时间管理、简单内存管理、任务间的通信与同步,没有提供输入输出管理、文件系统、图形化窗口系统、网络服务等功能。用户可以根据自己的需求设计添加所需的模块。目前己有第三方为C/OS-Ⅱ开发文件系统、TCP/IP协议栈等模块。它有如下特点:
公开源代码:源代码清晰易且结构协调,注解详尽,组织有序。
可移植性:绝大部分C/OS-Ⅱ的源代码使用移植性很强的ANSIC写的,和微处理器相关部分采用汇编语言写,并且压到了最低限度。只要该处理器有堆栈指针,有CPU内部寄存器入栈出栈指令就可以移植C/OS-Ⅱ。目前已成功移植到8位、16位、32位以及64位微处理器上。
可裁剪性:可以只使用C/OS-Ⅱ应用程序需要的哪些系统服务。这种可裁剪发生是依靠条件编译实现的。
占先式:C/OS-Ⅱ完全是占先式实时内核,即总是运行就绪条件下优先级最高的任务。
多任务:可以管理64个任务,但系统保留了8个任务,应用程序最多可以有56个任务。赋予每个任务的优先级必须不相同。
可确定性:全部?C/OS-Ⅱ的函数调用和服务的执行时间具有确定性,即它们的执行时间是可知的。即C/OS-Ⅱ系统服务的执行时间不依赖于程序任务有多少。
任务栈:每个任务有自己单独的栈,C/OS-Ⅱ允许每个任务有不同的栈空间。
系统服务:C/OS-Ⅱ提供多种系统服务,如邮箱、消息队列、信号量、块大小固定的内存的申请与释放、时间相关函数等。
中断管理:中断可以使正在执行的任务暂时挂起,中断嵌套层数可达25层
稳定性与可靠性协:C/OS-Ⅱ是基于C/OS的,C/OS自1992年以来已经有好多商业应用。C/OS-Ⅱ与C/OS的内核是一样的只不过提供了更多的其它功能。
四、CLinux嵌入式操作系统概述
CLinux是一个GNU的项目,被设计用在微控制应用领域,其代码完全开放。
CLinux专门针对没有MMU(Memory Management Unit)的处理器设计,支持多任务,具有完备的TCP/IP协议栈并支持多种网络协议。?CLinux支持多种文件系统,如ROMFS、NFS、ExtZ、JFFS、MS-DOS及FAT16/32等。实际上,CLinux己经成功应用于路由器、网络摄像机、机顶盒、PDA等诸多领域。
1998年1月CLinux发行第一版,该版本基于palmpDA实现;1999年2月份成功移植到Motorola的ColdFire系列处理器MCF5206和MCF5307; CLinux发行至今己经历多个版本,目前?CLinux支持包括ARM、MIPS、SH、6SK、x86甚至SPARC等高性能处理器,并在60个以上基于这些处理器的开发平台成功实现。
五、eCos嵌入式操作系统概述
eCos嵌入式操作系统的最大特点是可配置性。整个操作系统是基于组件构架的。这样一个构架能够很好的适应嵌入式系统设计的需求,基于这个结构,设计人员可以灵活的设计出不同的应用程序。
eCos嵌入式操作系统针对嵌入式系统的存储器容量小和系统执行效率要求高的特点,采用了编译时组件的配置方式。同时针对传统的config.h+#if
def编译开关不直观和意义不明确的特点,eCos引入了一个全新的CDL脚本文件+图形化的系统配置工具的组件配置方法。
所谓CDL脚本文件,它使用组件描述语言(CDL)来描述一个组件的特性。对于eCos的每一个组件都有一CDL个脚本文件来描述该组件的一些特性。如一个UART驱动组件,就必须包括默认的波特率,比特数等。虽然在封装组件时尽可能保持各个组件的正交性,但是不可避免,有一些组件保持着垂直的相互关联性,就出现了配置时如果包括其中一个组件必须包括另一个组件的情况,这我们称之为相关。这时就需要在该组件的脚本文件中注明与该组件相关的组件。当每一个组件都有了自己的配置脚本文件时,eCos同样通过CDL脚本文件,将小的组件拼装成较大的组件,如此不断的迭代,直至构成整个系统。
eCos使用图形化的组件配置工具configtool对系统的组件进行配置。在组件配置工具中不仅可以让用户直观地对系统进行配置,它还提供了一些配置模板,如默认,最小和ReBoot等,以加快用户配置的过程。此外用户还可以在图形化的配置工具中直接进行编译和测试。
六、结语
表 2 同步与通信机制比较
通过以上的基本描述我们了解到,各个嵌入式操作系统在各个方面各有千秋。eCos由于在设计时,从一开始就是以嵌入式系统为目标的,因此在性能上,其由较大的优势。反观?CLinux则是由Linux进化而来,因此在以速度和优化为主题的嵌入式系统环境中,并不占优。但是由于Linux有的强大后盾,其功能的强大和兼容性是非常突出的。如果应用程序是从其他系统中移植过来的,或者开发人员有Linux的背景,或者开发成本在总成本的比例较高,则CLinux比较适合,反之则eCos比较适合。C/OS-Ⅱ具有源代码公开、具有很好的移植性,高稳性和可靠性,抢占式多任务的RTOS。它已经应用于数码相机、医疗仪器、音设备、发动机控制、网络接入设备、ATM机、工业机器人等嵌入式实时系统它是非常有生命力和潜力的操作系统。VxWorks操作系统。良好的持续发展能力、高性能的核心以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、太空等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。有了以上的性能比较的总结,我们现在可以大致得出,在选择嵌入式操作系统是评判的标准,用户需要从以下几方面考虑和权衡:
1. 操作系统是否满足系统的性能要求;
2. 应用程序是否从其他系统移植而来,
3. 开发人员的水平和背景,
4. 公司的商业逻辑是否允许开放源代码,
5. 系统的开发成本和硬件成本在总成本的比例。
参考文献:
.Embedded Software Development with eCos Anthony J. Massa, Pearson Education ,1nc, 2002,page 154 本文链接:http://www.qk112.com/lwfw/yxlw/waikexue/82469.html
下一篇:件杂库场条形码应用系统