1.4 目前主流嵌入式操作系统概述
国际上用于信息电器的嵌入式操作系统约有40种。近年来,市场上非常流行的嵌入式操作系统(EOS)产品,包括:3Com公司下属子公司的Palm OS,全球占有份额达50%;Microsoft公司的Windows CE,份额不过29%。在美国市场,Palm OS更以80%的占有率远超Windows CE。开放源代码的Linux很适于做信息家电的开发。
Linux家族由于其丰富的资源、网络的支持、遵从POSIX标准而被应用到嵌入式系统之中。为了应对嵌入式设备的不同微处理器结构、内存受限和实时性要求,Linux家族为此也做了相应的改变。首先,利用尽可能的模块化来提高系统的可裁剪性和硬件的可扩展性。其次,采用一些新方法提高系统的实时性能,主要方法有限制实时任务和非实时任务的交互,如LynxOS/Blue Cat Linux,RTLinux/RTAI;采用新核或者资源核的方式集成实时和非实时任务,如TimeSys Linux, Monta Vista Linux,TimeSys Linux。
图1.3 Linux资源核的方式
如图1.3所示是Linux资源核的方式。在资源核里,所有任务都运行在虚拟资源上,利用对资源的控制来进行任务的调度,从而达到实时的方式。
Palm是3Com公司的产品,其操作系统为Palm OS。Palm OS是一种32位的嵌入式操作系统。Palm OS是一套专门为掌上电脑开发的OS。在编写程序时,Palm OS充分考虑了掌上电脑内存相对较小的情况,因此它只占有非常小的内存。由于基于Palm OS编写的应用程序占用的空间也非常小(通常只有几十KB),因此从个人管理、游戏到行业解决方案,Palm OS无所不包。
Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上电脑的电子设备操作系统,具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。Windows CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伙伴(Companion),E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于Win32 API重新开发的、新型的信息设备平台。它不仅继承了传统的Windows图形界面,而且继承了Windows 95/98上的编程工具(如Visual Basic、Visual C++等),使绝大多数的应用软件只需简单修改和移植就可以在Windows CE平台上继续使用。Windows CE的设计可以满足多种设备的需要,这些设备包括了工业控制器、通信集线器及销售终端之类的企业设备,还有照相机、电话和家用娱乐器材之类的消费产品。
Android是手机专用的嵌入式操作系统,基于Linux内核的操作系统开发,由Google公司在2007年11月5日公布。早期由原名为“Android”的公司开发,Google公司在2005年收购“Android.Inc”后,继续对Android系统进行开发运营。它采用了软件堆层(Software Stack,又名以软件叠层)的架构,主要分为三部分:底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库(Library)和虚拟机(Virtual Machine),由C++开发;最上层是各种应用软件,包括通话程序、短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。它不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。
µCOS-Ⅱ由于其实时性不错、内核小、并行运行的特点,很受单片机及低端ARM用户的喜爱。包含内核的应用程序编译后可以到几KB的级别,非常适合内存空间受限、价格低的电子产品。同时,由于代码短小,结构性强,因此它非常适合初学者,被很多学校当成教学的素材。
eCOS是由Redhat推出的小型即时操作系统(Real-Time Operating System),最低编译核心可小至10KB的级别,适用于bootloader增强及微小型系统。此系统和嵌入式Linux系统的差异是它将操作系统做成静态链接的方式,让应用程序通过链接(Linker)产生出具有操作系统的特性的应用程式。eCOS的全称为embedded Configuration Operating System,eCOS是开放源码、免税费的实时操作系统,这套操作系统是针对嵌入式系统及应用而设计的,因此是以单一进程搭配多个线程的方式来执行的,提供了较多的元件和包供用户选择使用。
VxWorks是美国Wind River System公司(即风河公司,简称WRS公司)推出的一个实时操作系统。Tornado是WRS公司推出的一套实时操作系统开发环境,类似于Microsoft Visual C,但是提供了更丰富的调试、仿真环境和工具,具有可裁剪的微内核结构、高效的任务管理、灵活的任务间通信、支持TCP/IP网络等优点。但是其价格昂贵,通常需要花费10万元人民币以上才可以搭建起一个可用的开发环境,每个应用还要另收版税。同时,也不提供源代码。
表1.2是几种主流实时嵌入式操作系统的性能比较。
表1.2 几种主流实时嵌入式操作系统的性能比较
从这几种嵌入式实时操作系统的比较可以看出,VxWorks的实时性能最好,µCOS-Ⅱ的表现也相当不错,作为BlackBerry 手机的新操作系统的QNX6表现也很好,而RT-Linux因为沿袭了Linux的设计理念,所以实时性能表现不佳。