下面介绍国外和国内常用的实时操作系统。
1.国外著名的实时操作系统国外实时操作系统已经从简单走向成熟,有代表性的产品主要有VxWorks,QNX,PalmOS,WindowsCE等,占据了机顶盒、PDA等的绝大部分市场。其实,实时操作系统并不是一个新生的事物,从20世纪80年代起,国际上就有一些IT组织、公司开始进行商用嵌入式系统和专用操作系统的研发。
(1)VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。VxWorks拥有良好的持续发展能力、高性能的内核以及良好的用户开发环境,在实时操作系统领域内占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通信、军事演习、导弹制导、飞机导航等。在美国的F-16、FA-18战斗机,B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用了VxWorks。它是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。它支持多种处理器,如x86,i960,SunSparc,Moto--rolaMC68xxx,MIPSRX000,PowerPC,ARM,StrongARM等。大多数的VxW---orksAPI是专有的。
(2)QNXQNX是一个实时的、可扩充的操作系统;它部分遵循POSIX相关标准,如POSIX.1b实时扩展;它提供了一个很小的微内核以及一些可选的配合进程。其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间中运行。所有其他操作系统服务都实现为协作的用户进程,因此QNX内核非常小巧(QNX4.x大约为12KB),而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或包括几百个处理器的超级虚拟机操作系统。POSIX表示可移植操作系统接口(PortableOperatingSystemInterface,缩写为POSIX是为了读音更像UNIX)电气和电子工程师协会(IEEE)最初开发POSIX标准,是为了提高UNIX环境下应用程序的可移植性。然而,POSIX并不局限于UNIX.许多其它的操作系统,例如DECOpenVMS和WindowsNT,都支持POSIX标准,尤其是IEEEStd.1003.1-1990(1995年修订)或POSIX.1,POSIX.1提供了源代码级别的C语言应用编程接口(API)给操作系统的服务程序,例如读写文件.POSIX.1已经被国际标准化组织(ISO)所接受,被命名为ISO/IEC9945-1:1990标准。POSIX现在已经发展成为一个非常庞大的标准族,某些部分正处在开发过程中。POSIX与IEEE1003和2003家族的标准是可互换的
(3)PalmOS3Com公司的PalmOS在掌上电脑和PDA市场上占有很大的市场份额。它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需的应用程序。目前共有3500多个应用程序可以运行在PalmPilot上。其中大部分应用程序均为其他厂商和个人所开发,使PalmPilot的功能得以不断增多。这些软件包括计算器、各种游戏、电子宠物、地理信息等。在开发环境方面,可以在Windows95/98/NT以及Macintosh下安装。PalmPilot可以与流行的PC平台上的应用程序(如Word,Excel等)进行数据交换。
(4)WindowsCEMicrosoftWindowsCE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核至少需要200KB的ROM。
(5)LynxOSLynxReal-timeSystems的LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a,POSIX.1b和POSIX.1c标准。LynxOS支持线程概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特征,包括基于调用需求的虚拟内存,一个基于Motif的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。Motif是开放软件基金(OSF)于1989年推出的一个图形用户界面系统。由于它融合了多种图形用户界面产品中的优点,因此得到了OSF的所有成员及广大第三方厂商的广泛支持。目前Motif已作为软件产品在OS/2、Unix、SysV、OSF/1、VMS、MacintoshOS、Ultrix等48中操作系统平台上实现,并可在PC、工作站、小型机和大型机等各种计算机系统上运行。为了讲清楚Motif是什么概念.先讲一下图形用户界面系统的层次结构(详细的知识大家查阅),一般的图形用户界面系统由六个层次构成:桌面管理系统、用户模型、窗口模型、显示模型、操作系统、硬件平台.Motif位于用户模型层.它建立在XWindow系统之上,也就是说它以XWindow系统做显示模型的窗口模型。Motif由工具箱(MotifToolkit)、用户界面语言(UI-L)、窗口管理程序(MWM)、风格指南文档(StyleGuide)等四部分组成:MotifToolkit是一个具体的XToolkit产品,它包括XtIntrinsics、Motif对象元类集合和操纵这个对象元类集合的简便函数等三个部分。利用Motif开发的应用程序通常可分为两个部分:一部分是有关应用程序界面的代码;另一部分是关于应用程序具体功能的代码。一般来说,应用程序中这两个部分是不会相互干扰的。比如说菜单项位置的变动、标图的更换就都不会影响应用程序的功能。基于上述事实,Motif引入了用户界面语言来解决用户界面的描述问题。
3.象其他窗口管理程序一样,Motif的窗口管理程序提供了一个对屏幕上的窗口进行管理的手段,同时它页强化了用户界面视感的一致性.MWM支持Motif风格指南所描述的各种窗口操作及显示窗口时的各种约定。
4.Motif的风格指南以文档的形式说明了在Motif环境下开发应用程序时应遵守的规范。
(6)嵌入式Linux随着Linux的迅速发展,嵌入式Linux现在已经有许多的版本,包括强实时的嵌入式Linux(如新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux)和一般的嵌入式Linux版本(如uClinux和PocketLinux等)。其中,RT-Linux通过把通常的Linux任务优先级设为最低,而所有的实时任务的优先级都高于它,以达到既兼容通常的Linux任务又保证强实时性能的目的。另一种常用的嵌入式Linux是uClinux,它是针对没有MMU的处理器而设计的。它不能使用处理器的虚拟内存管理技术,它对内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。它专为嵌入式系统做了许多小型化的工作。由于嵌入式系统越来越追求数字化、网络化和智能化,因此原来在某些设备或领域中占主导地位的软件系统越来越难以为继,因为要达到上述要求,整个系统必须是开放的、提供标准的API,并且能够方便地与众多第三方的软硬件沟通。Linux主要特点如下:Linux是开放源码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发的强大技术后盾;Linux的内核小、功能强大、运行稳定、系统健壮、效率高;Linux易于定制裁剪,在价格上极具竞争力;Linux不仅支持x86CPU,还可以支持其他数十种CPU芯片;有大量的且不断增加的开发工具,这些工具为嵌入式系统的开发提供了良好的开发环境;Linux沿用了Unix的发展方式,遵循国际标准,可以方便地获得众多第三方软硬件厂商的支持;Linux内核的结构在网络方面是非常完整的,它提供了对十兆/百兆/千兆以太网、无线网络、令牌网、光纤网、卫星网等多种联网方式的全面支持。在图像处理、文件管理及多任务支持等诸多方面,Linux的表现也都非常出色,不仅可以充当嵌入式系统的开发平台,本身也是嵌入式系统应用开发的好工具。(7)uC/OSuC/OS是源码公开的实时嵌入式操作系统。uC/OS-Ⅱ的主要特点如下:公开源代码,系统透明,很容易就能把操作系统移植到各个不同的硬件平台上。可移植性强,uC/OS-Ⅱ绝大部分源码是用ANSIC写的,可移植性(Portable)较强。而与微处理器硬件相关的那部分是用汇编语言写的,已经压到最低限度,使得uC/OS-Ⅱ便于移植到其他微处理器上。可固化,uC/OS-Ⅱ是为嵌入式应用而设计的,这就意味着,只要开发者有固化(ROMable)手段(C编译、连接、下载和固化),uC/OS-Ⅱ可以嵌入到开发者的产品中成为产品的一部分。可裁剪,通过条件编译可以只使用uC/OS-Ⅱ中应用程序需要的那些系统服务程序,以减少产品中的uC/OS-Ⅱ所需的存储器空间(RAM和ROM)。占先式,uC/OS-Ⅱ完全是占先式(Preemptive)的实时内核,这意味着uC/OS-Ⅱ总是运行就绪条件下优先级最高的任务。大多数商业内核也是占先式的,uC/OS-Ⅱ在性能上和它们类似。实时多任务,uC/OS-Ⅱ不支持时间片轮转调度法(Round-roblinScheduling)。该调度法适用于调度优先级平等的任务。可确定性,全部uC/OS-Ⅱ的函数调用与服务的执行时间具有可确定性。由于uC/OS-II仅是一个实时内核,这就意味着它不像其他实时操作系统那样提供给用户的只是一些API函数接口,有很多工作往往需要用户自己去完成。把uC/OS-Ⅱ移植到目标硬件平台上也只是系统设计工作的开始,后面还需要针对实际的应用需求对uC/OS-Ⅱ进行功能扩展,包括底层的硬件驱动、文件系统、用户图形接口(GUI)等,从而建立一个实用的RTOS。
2.国内著名的实时操作系统国内的实时操作系统研究开发有两种类型。一类是中国自主开发的实时操作系统,如电子科技大学嵌入式实时教研室和科银公司联合研制开发的实时操作系统DeltaOS(道系统)、凯思公司的HopenOS(女娲计划)、中科院北京软件工程研制中心开发的CASSPDA以及浙江大学自行研制开发的嵌入式操作系统HBOS等;另一类是基于国外操作系统二次开发完成的,这类操作系统大多是专用系统,在此就不对这类系统进行介绍了。
(1)DeltaOSDeltaOS是电子科技大学嵌入式实时教研室和科银公司(专门从事嵌入式开发)联合研制开发的全中文的嵌入式操作系统,提供强实时和嵌入式多任务的内核,任务响应时间快速、确定,不随任务负载大小改变,绝大部分的代码由C语言编写,具有很好的移植性。它适用于内存要求较大、可靠性要求较高的嵌入式系统,主要包括嵌入式实时内核DeltaCORE、嵌入式TCP/IP组件DeltaNET、嵌入式文件系统DeltaFILE以及嵌入式图形接口DeltaGUI等。同时,它还提供了一整套的嵌入式开发套件LamdaTOOL,是国内嵌入式领域内不可多得的一整套嵌入式开发应用解决方案,已成功应用于通信、网络、信息家电等多个应用领域。
(2)HopenOSHopenOS是凯思集团自主研制开发的实时操作系统,由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其核心HopenKernel的规模一般为10KB左右,占用空间小,并具有实时、多任务、多线程的系统特征。
(3)EEOSEEOS是中科院计算所组织开发的开放源码的实时操作系统。该实时操作系统重点支持p-Java,要求一方面小型化,一方面能重用Linux的驱动和其他模块。中科院计算所将在2-3年内持续加大投资,以期将其扩展成能力强,功能完善,且稳定、可靠的嵌入式操作系统平台。这包含E2实时操作系统、E2工具链及E2仿真开发环境的完整环境。
(4)HBOSHBOS系统是浙江大学自主研制开发的全中文实时操作系统。它具有实时、多任务等特征,能提供浏览器、网络通信和图形窗口等服务;可供进行一定的定制或二次开发;能为应用软件开发提供API接口支持;可用于信息家电、智能设备和仪器仪表等领域开发应用。在HBOS系统平台下,已经成功地开发出机顶盒和数据采集等系统。
3.操作系统选择表1-1给出了几种国内流行嵌入式操作系统比较。