三种通用嵌入式操作系统的分析与比较
摘要:本文介绍了三种通用的嵌入式操作系统 VxWorks、Windows CE、Linux以及它们的各自的特点,并通过比较他们的优缺点分析他们各自适应的领域。
1嵌入式操作系统
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。作为嵌入式系统的重要组成部分,嵌入式操作系统 EOS(Embedded Operating System)是随着嵌入式系统的发展而出现的,是嵌入式系统发展到一定阶段的产物。嵌入式操作系统的出现,大大提高了嵌入式系统的开发效率,同时也促进了嵌入式的发展。
嵌入式操作系统并不是简单嵌入的操作系统,它除了具有通用操作系统的基本特点外,在小巧、实时性、可装卸、可固化代码、强稳定性、弱交互性、具备统一接口等方面有突出的特点。 2三种典型 EOS分析
作为在嵌入式操作系统市场通用的三种系统,Linux 、VxWorks 、Windows CE在实时性、内核大小、调度算法、通信能力和开发环境等方面都有自己的特点,下面就对这几种系统的特点做一分析。
2.1 VxWorks
VxWorks操作系统是美国 WindRiver公司于 1983年设计开发的一种嵌入式实时操作系统,依据其良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。应用实例包括美国的 F-16、FA-18战斗机、B-2 隐形轰炸机、火星探测器、爱国者导弹等。
VxWorks的特点有:
1)高实时性实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力。实时性的强弱是以完成规定功能和作出响应时间的长短来衡量的。
VxWorks 的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。 VxWorks 的任务调度策略以可抢占式调度( Preemptive Priority Scheduling)为基础,辅以时间轮转调度算法( Round-Robin Scheduling)机制。这一调度算法使得 VxWorks 能够及时响应高优先级的任务。而同级任务间则可选择时间片轮转法使多个同优先级的任务并发执行。
2)可裁剪性 VxWorks的可裁剪性,可以使开发者根据自己应用程序的需要来选择操作系统中部件,用户没用到的功能模块都可以去掉。
VxWorks 由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。 VxWorks 内核最小为 8kB,即便加上其它必要模块,所占用的空间也很小,且不失其实时、多任务的系统特征。由于它的高度灵活性,用户可以很容易地对这一操作系统进行定制或作适当开发,来满足自己的实际应用需要。
3)友好的开发调试环境
VxWorks的开发环境 Tornado是一个友好的开发环境,它可以运行在多种主机上,包括 Sun、HP、Dec、MIPS等,主机的操作系统则支持 Unix、Windows NT等。系统使用的流行图形界面方便使用者较快地理解和掌握。 VxWorks支持应用程序的动态链接和动态下载,使开发者省去了每次调试都将应用程序与操作系统内核进行链接和下载的步骤,缩短了编辑调试的周期。而 VxWorks具有的可视化图形界面的调试工具,也很大程度地方便了开发者的调试工作。
2.2 Windows CE
Windows CE(下称 Wince)是微软开发的一个源码开放的、紧凑的、高效和可扩展的操作系统,适用于各种嵌入式系统和产品。它拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境,专门面向只有有限资源的硬件环境。同时,它的模块化设计方式使得系统开发人员和应用开发人员能够为多种多样的产品来定制它,例如手持电脑、专用的工业控制器以及消费用电子产品等。
Wince除了具有 Windows系统的许多共性外,又具有嵌入式系统所要求的实时性、内存小等特性。同时 Embedded Visual C++给嵌入式系统应用程序的开发提供了极大的方便。因此,利用 Wince开发嵌入式系统或装置不仅可以获得最好的性能,而且可以缩短开发周期和降低技术风险。
Wince的特点有:
1)实时性支持
Wince的实时性支持包括以下内容:支持嵌套的中断,这可以让高优先级的中断立即被响应;更好的线程响应,高优先级的中断服务线程调度延迟的上限更加紧了,这可以让开发人员知道线程调度转换发生的时间,通过提高监视和控制硬件
- 数据处理指令之: CMP比较指令(08-13)
- 数据处理指令之:CMN负数比较指令(08-13)
- 高效的C编程之:布尔表达式(08-30)
- 设计超低功耗的嵌入式应用(二):五种电源模式的详细介绍(09-22)
- 设计超低功耗的嵌入式应用(三)(09-22)
- 基于VHDL的智能温室环境测控系统专用CPU设计(06-05)