当前位置:文档之家› 嵌入式操作系统的种类与特点

嵌入式操作系统的种类与特点

1.3.1 嵌入式操作系统的种类、特点与发展1.嵌入式操作系统的种类一般情况下,嵌入式操作系统可以分为两类:非实时操作系统:面向消费电子产品等领域,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书等。

实时操作系统RTOS(Real-Time Embedded Operating System):面向控制、通信等领域,如windriver公司的vxworks、isi的psos、qnx系统软件公司的qnx等。

(1)非实时操作系统早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。

在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。

前台程序通过中断来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。

这就是通常所说的前后台系统。

一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。

在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。

对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会造成在中断服务程序中处理费时的事件而影响后续和其它中断。

实际上,前后台系统的实时性比预计的要差。

这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过FIFO队列排队,因而对那些实时性要求高的任务不可能立刻得到处理。

另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其它任务得不到机会被处理,从而造成整个系统的崩溃。

由于这类系统结构简单,几乎不需要RAM/ROM的额外开销,因而在简单的嵌入式应用被广泛使用。

(2)实时操作系统所谓实时性,就是在确定的时间范围内响应某个事件的特性。

而实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。

其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。

“在确定的时间内”是该定义的核心。

也就是说,实时系统是对响应时间有严格要求的。

实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。

实时系统有两种类型:软实时系统和硬实时系统。

软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。

通常,大多数实时系统是两者的结合。

实时应用软件的设计一般比非实时应用软件的设计困难。

实时系统的技术关键是如何保证系统的实时性。

实时操作系统可分为可抢占型和不可抢占型两类。

嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。

从某种意义上说,没有操作系统的计算机(裸机)是没有用的。

在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。

操作系统的实时性在某些领域是至关重要的,比如工业控制、航空航天等领域。

想像飞机正在空中飞行,如果嵌入式系统不能及时响应飞行员的控制指令,那么极有可能导致空难事故。

有些嵌入式系统应用并不需要绝对的实时性,比如PDA播放音乐,个别音频数据丢失并不影响效果。

这可以使用软实时的概念来衡量。

据调查,目前全世界的嵌入式操作系统已经有两百多种。

从20世纪80年代开始,出现了一些商用嵌入式操作系统,它们大部分都是为专有系统而开发的。

随着嵌入式领域的发展,各种各样嵌入式操作系统相继问世。

有许多商业的嵌入式操作系统,也有大量开放源码的嵌入式操作系统。

其中著名的嵌入式操作系统有:μC/OS、VxWorks、Neculeus、Linux和Windows CE等。

下面介绍几种应用比较广泛的嵌入式操作系统:(1)μC/OS-ⅡμC/OS-Ⅱ是由Labrosse先生编写的源代码公开的实时内核,是专为嵌入式应用设计的,可用于8位,16/32位单片机或DSP。

它是在原版本μC/OS的基础上做了重大改进与升级,并有了近十年的使用实践,有许多成功应用该实时内核的实例。

它的特点是:公开源代码,代码结构清晰,注释详尽,组织有条理,可移植性好;可裁剪,可固化;抢占式内核,最多可以管理60个任务。

自从清华大学邵贝贝教授将Jean J. Labrosse的《μC/OS-Ⅱ:The Real Time Kernel》翻译后,在国内掀起μC/OS-II的热潮,特别是在教育研究领域。

该系统短小精悍,是研究和学习实时操作系统的首选。

(2)Windows CEWindows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统。

它是精简的Windows 95。

Windows CE的图形用户界面相当出色。

其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivit)和伴侣(Companion);E代表电子产品(Electronics)。

Windows CE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。

Windows CE采用模块化设计,并允许它对于从掌上电脑到专用的工控电子设备进行定制。

操作系统的基本内核需要至少200KB的ROM。

从SEGA的DreamCast游戏机到现在大部分的高价掌上电脑都采用了Windows CE。

随着嵌入式操作系统领域日益激烈的竞争,微软不得不应付来自Linux等免费系统的冲击。

微软在Windows 4.2版中,将增加一项授权价仅3美元的精简版本 Core。

Core具有基本的功能,包括实时OS核心(Real Time OS Kernel)、档案系统;IPv4、IPv6、WLAN、蓝牙等联网功能;Windows Media Codec;.Net开发框架以及SQL Server.CE。

微软推出低价版本,主要是看好语音电话、WLAN的无线桥接器和个性化视听设备的成长潜力。

(3)VxWorksVxWorks是WindRiver公司专门为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信。

应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。

VxWorks 是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。

它支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MPIS RX000、POWER PC等等。

大多数的VxWorks API 是专有的。

采用GNU的编译和调试器。

VxWorks以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。

在美国的F-16、FA-18战斗机、B-2隐形轰炸机和爱国者导弹上,1997年4月在火星表面登陆的火星探测器上使用了VxWorks。

(4)LinuxLinux 是一个类似于Unix的操作系统。

它起源于芬兰一个名为Linus Torvalds的业余爱好,但是现在已经是最为流行的一款开放源代码的操作系统。

Linux从1991年问世到现在,短短十余年的时间内已发展成为一个功能强大、设计完善的操作系统,伴随网络技术进步而发展起来的Linux OS已成为Microsoft公司Windows的强劲对手。

Linux系统不仅能够运行于PC平台,还在嵌入式系统方面大放光芒,Linux本身的种种特性使其成为嵌入式开发中的首选。

在进入市场的头两年中,嵌入式Linux设计通过广泛应用获得了巨大的成功。

随着嵌入式Linux的的成熟,提供更小的尺寸和更多类型的处理器支持,并从早期的试用阶段迈进到嵌入式的主流。

(5)PALM OSPalm是3Corn公司的产品,其操作系统为Palm OS。

Palm OS是一种32位的嵌入式操作系统。

Palm提供了串行通信接口和红外线传输接口;利用它可以方便地与其它外部设备通信、传输数据;拥有开放的OS应用程序接口,开发商可根据需要自行开发所需的应用程序。

Palm OS是一套具有极强开放性的系统,现在有大约数千种专门为Palm OS编写的应用程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案,Palm OS无所不包。

在丰富的软件支持下,基干Palm OS的掌上电脑功能得以不断扩展。

(6)pSOSISI公司已经被WinRiver公司兼并,现在pSOS属于WindRiver公司的产品。

这个系统是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全多任务环境,在定制的或是商业化的硬件上提供高性能和高可靠性。

可以让开发者根据操作系统的功能和内存需求定制成每一个应用所需的系统。

开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统。

(7)QNX这也是一款实时操作系统,由加拿大QNX软件系统有限公司开发。

广泛应用于自动化、控制、机器人科学、电信、数据通信、航空航天、计算机网络系统、医疗仪器设备、交通运输、安全防卫系统、POS机、零售机等任务关键型应用领域。

20世纪90年代后期,QNX系统在高速增长的因特网终端设备、信息家电及掌上电脑等领域也得到了广泛应用。

QNX的体系结构决定了它具有非常好的伸缩性,用户可以把应用程序代码和QNX内核直接编译在一起,使之为简单的嵌入式应用生成一个单一的多线程映像。

它也是世界上第一个遵循POSIX1003.1标准从零设计的微内核,因此具有非常好的可移植性。

(8)OS-9Microwave的OS-9是为微处理器的关键实时任务而设计的操作系统,广泛应用于高科技产品中,包括消费电子产品、工业自动化、无线通讯产品、医疗仪器、数字电视/多媒体设备。

它提供了很好的安全性和容错性。

与其它的嵌入式系统相比,它的灵活性和可升级性非常突出。

(9)LynxOSLynx Real-Time Systems的LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。

LynxOS支持线程概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特征;包括基于调用需求的虚拟内存,一个基于Motif的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。

2.嵌入式操作系统的特点嵌入式操作系统EOS是一种用途广泛的系统软件,它体现了其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。

相关主题