APP下载

常见的嵌入式操作系统

2011-04-01炎黄职业技术学院信息工程系

电子世界 2011年10期
关键词:掌上电脑嵌入式操作系统代码

炎黄职业技术学院信息工程系 熊 丹

常见的嵌入式操作系统

炎黄职业技术学院信息工程系 熊 丹

嵌入式系统由嵌入式系统硬件平台和嵌入式软件平台组成,而嵌入式软件平台又包括嵌入式操作系统和嵌入式系统应用。其中,嵌入式操作系统是指在嵌入式硬件平台上运行的操作系统。目前主流的嵌入式操作系统有Windows CE、VxWorks、Palm OS、QNX、嵌入式Linux、μC/OS、TinyOS等。

嵌入式系统;嵌入式操作系统;Windows CE;VxWorks;Palm OS;QNX;嵌入式Linux;μC/OS;TinyOS

根据电气和电子工程师协会(IEEE)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(de-vices used to control,monitor,or assist the operation of equipment,machinery or plants)。从中可看出,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。嵌入式系统是与应用紧密结合的,具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。目前国内一个普遍被认同的定义是:嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

嵌入式系统由嵌入式系统硬件平台和嵌入式软件平台组成,而嵌入式软件平台又包括嵌入式操作系统和嵌入式系统应用。其中,嵌入式操作系统是指在嵌入式硬件平台上运行的操作系统。目前主流的嵌入式操作系统有Windows CE、VxWorks、Palm OS、QNX、嵌入式Linux、μC/OS、TinyOS等。

1.Windows CE

Windows CE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。

Windows CE作业系统是Windows家族中最新的成员,专门设计给掌上型电脑(HPCs)所使用的电脑环境。这样的作业系统可使完整的可携式技术与现有的Windows桌面技术整合工作。Windows CE被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作系统,Windows CE可以通过设计一层位于内核和硬件之间代码来用设定硬件平台,这即是众所周知的硬件抽象层(HAL)。

不象其它的微软Windows操作系统,Windows CE并不是代表一个标准的相同的对所有平台适用的软件。为了足够灵活以达到适应广泛产品需求,Windows CE采用标准模式,这就意味着,它能够由一系列软件模式做出选择,从而使产品定制。另外,一些可利用模式也可作为其组成部分,这意味着这些模式能够通过从一套可利用的组份做出选择,从而成为标准模式,通过选择,能够达到系统要求的最小模式,OEM能够减少存储脚本和操作系统的运行。

Windows CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于WIN32 API重新开发、新型的信息设备的平台。Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。Windows CE并非是专为单一装置设计的,所以微软为旗下采用Windows CE作业系统的产品大致分为三条产品线,Pocket PC(掌上电脑)、Handheld PC(手持设备)及Auto PC。

2.VxWorks

VxWorks是美国Wind River System公司(即WRS公司)1983年推出的一个嵌入式实时操作系统(RTOS,Real-time Open System),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地,广泛应用于通信、国防、工业控制、医疗设备等嵌入式实时应用领域。VxWorks所具有的显著特点是可靠性、实时性和可裁剪性。它支持多种处理器,例如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS和Power PC等。Tornado 是WRS公司推出的一套实时操作系统开发环境,类似Microsoft Visual C,但是提供了更丰富的调试、仿真环境和工具。

3.Palm OS

Palm OS是Palm公司开发的专用于PDA上的一种操作系统,这是PDA上的霸主,一度普占据了90%的PDA市场的份额。虽然其并不专门针对于手机设计,但是Palm OS的优秀性和对移动设备的支持同样使其能够成为一个优秀的手机操作系统。其最新的版本为Palm OS 5.2。目前具有手机功能的Palm PDA如Palm公司的Tungsten W。而Handspring公司(目前已被Palm公司收购)的Treo系列则是专门使用Palm OS的手机。

Palm OS是一种32位的嵌入式操作系统,用于掌上电脑。此系统是3Com公司的Palm Computing部开发的。(Palm Computing目前已经独立成一家公司。)Palm OS与同步软件HotSync结合可以使掌上电脑与PC机上的信息实现同步,把台式机的功能扩展到了手掌上。目前,基于Palm OS的掌上电脑主要是3Com的系列产品,如Palm IIIx,Palm V,Palm VII,IBM WorkPad c3用的也是Palm OS。Sony等公司也获得了Palm Computing的许可,将开发基于Palm OS的掌上电脑。Palm OS与Windows CE间的搏斗正在展开。

4.QNX

Gordon Bell和Dan Dodge在1980年成立了Quantum Software Systems公司,他们根据大学时代的一些设想写出了一个能在IBM PC上运行的名叫QUNIX(Quick UNIX)的系统,直到AT&T发律师函过来才把名字改成QNX。

QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循POSIX.1(程序接口)和POSIX.2(Shell和工具)、部分遵循POSIX.1b(实时扩展)。它最早开发于1980年,到现在已相当成熟。

QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

5.嵌入式Linux

嵌入式Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。

嵌入式linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux等嵌入式Linux支持,实时性能稳定性好安全性好。

6.μC/OS

近年来,随着微控制器性能的不断提高,嵌入式应用越来越广泛。目前市场上的大型商用嵌入式实时系统,如VERTEX,VXWORK,PSOS等等,已经十分成熟,并为用户提供了强有力的开发和调试工具。但商用嵌入式实时系统价格昂贵,而且都针对特定的硬件平台。对于国内中小型系统的开发,购买商用实时系统并不划算。此时,采用免费软件和开放代码不失为一种选择。目前源码开放(C代码)的嵌入式系统有μC/OS的uCLinux。μC/OS简单易学,提供了嵌入式系统的基本功能,其核心代码短小精悍,如果针对硬件进行优化,还可以获得更高的执行效率。但是μC/OS相对商用嵌入式系统来说还是过于简单,而且存在开发调试困难的问题。uCLinux是免费软件运动的产物,包含丰富的功能,包括文件系统、各种外调驱动程序、通讯模块、TCP/IP、PPP、HTTP,甚至WEB服务器的代码。在INTERNET上流传的uCLinux已经被移植到当前几乎所有的硬件平台上,功能与PC机上运行的Linux不相上下,其代码也十分复杂。完全移植没有必要也十分困难,但uCLinux的代码经过世界范围内的优化,稳定可靠而且高效,所有模块的代码都可以从INTERNET上获得,可以进行模块移植。在应用中,我们可以在ColdFire硬件平台上运行了μC/OS的核心,并实现uCLinux的文件系统,使得在嵌入式应用中可以进行文件操作。同时针对μC/OS调试困难的问题。还移植了uCLinux的用户Shell,使得用户可以用命令行方式进行程序的调试和开发。

7.TinyOS

TinyOS是UC Berkeley(加州大学伯克利分校)开发的开放源代码操作系统,专为嵌入式无线传感网络设计,操作系统基于构件(component-based)的架构使得快速的更新成为可能,而这又减小了受传感网络存储器限制的代码长度。

TinyOS的构件包括网络协议、分布式服务器、传感器驱动及数据识别工具。其良好的电源管理源于事件驱动执行模型,该模型也允许时序安排具有灵活性。TinyOS已被应用于多个平台和感应板中。TinyOS操作系统、库和程序服务程序是用nesC写的。nesC是一种开发组件式结构程序的语言,是一种C语法风格的语言,但是支持TinyOS的并发模型,以及组织、命名和连接组件成为健壮的嵌入式网络系统的机制。nesC应用程序是由有良好定义的双向接口的组件构建的,它还定义了一个基于任务和硬件事件处理的并发模型,并能在编译时检测数据流组件。

[1]郎璐红,梁金柱.基于ARM的嵌入式系统接口技术[M].清华大学出版社,2011.

[2]陈卓,王田,梁新元.嵌入式系统开发[M].电子工业出版社,2009.

[3]岂兴明,胡小冬,周火金.DSP嵌入式开发入门与典型实例[M].人民邮电出版社,2011.

[4]周润景,袁伟亭.基于PROTEUS的ARM虚拟开发技术[M].北京航空航天大学出版社,2007.

[5]周立功.ARM嵌入式系统基础教程[M].北京航空航天大学出版社,2008.

熊丹(1984—),女,湖北麻城人,学士,工程硕士研究生在读,现供职于淮安炎黄职业技术学院,研究方向:电子基础类及计算机硬件。

猜你喜欢

掌上电脑嵌入式操作系统代码
创世代码
创世代码
创世代码
创世代码
计算机嵌入式操作系统分析
掌上电脑在医院信息系统中护理工作的应用
关于高校嵌入式操作系统课程教学的探索与思考
基于嵌入式操作系统的工业采集板设计
应用服务型人才培养体系下的嵌入式操作系统教学改革探索
“掌上”电脑