原创 常用嵌入式操作系统简介

2009-10-12 19:41 3311 7 7 分类: MCU/ 嵌入式

1VxWorks


       VxWorksWind River System公司开发的具有工业领导地位的高性能实时操作系统内核,具有先进的网络功能。VxWorks的开放式结构和对工业标准的支持,使得开发人员易于设计高效的嵌入式系统,并可以以很小的工作量移植到其它不同的处理器上。其主要特点如下:


       (1) 可裁剪微内核结构;


(2) 高效的任务管理能力(多任务-具有256个优先级)


(3) 具有优先级排队和循环调度能力;


(4) 支持快速的、确定性的上下文切换。


(5) 灵活的任务间通信机制,支持3种信号灯(二进制、计数、有优先级继承特性的互斥信号灯)


(6) 具有消息队列。


(7) 具有套接字(Socket)


(8) 具有内存共享技术。


(9) 支持信号(Signals)


(10) 微秒级的中断处理能力。


(11) 支持POSIX 1003.1b实时扩展标准。


(12) 支持多种物理介质及标准和完整的TCP/IP网络协议。


(13) 灵活的引导方式(支持从ROMU盘、本地盘、软盘、硬盘或网络中引导)


(14) 支持多处理器并行处理。


(15) 快速灵活的I/O系统管理能力。


(16) 支持MS-DOSRT-11等多种文件系统、支持本地盘、U盘、CD-ROM的使用


(17) 完全符合ANSI C标准。


VxWorks板级支持包(BSP)包含了开发人员需要在特定的目标机上运行VxWorks所需要的一切支持:支持特定目标机的软件接口驱动程序等,以及从主机通过网络引导VxWorksBoot RomVxWorks是一个商用操作系统,用户需要购买licence


2QNX


       QNX是由QNX软件系统有限公司开发的一套实时操作系统,它是一个实时的、可扩展的操作系统,部分遵循了POSIX相关标准,可以提供一个很小的微核级及一些可选择的配合进程。其内核仅提供四种服务:进程调度、进程间通信、底层网络通信和中断处理。其进程在独立的空间中运行,所有其它操作系统服务都实现为协作的用户进程,因此QNX内核非常小巧,大约几千字节,而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置为微小的嵌入式系统或者包括几百个处理器的超级虚拟机系统。


       POSIX(Portable Operating System Interface)表示可移植操作系统接口。不过QNX目前的市场占有量不是很大,而且大家对它的熟悉程度也不够,而且QNX对于GUI系统的支持不是很好。


3Palm OS


       3Com公司的Palm OSPDA市场上占有很大的份额,它有开放的操作系统API接口,开发商可以根据需要自行开发所需要的应用程序。目前大约有3500个应用程序可以在Palm上运行,这使得Palm的功能得以不断增多。这些软件包括计算器、各种游戏、电子宠物、GIS等。


4Windows CE


       Microsoft Windows CE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从PDA到专用的工业控制器用户的电子设备进行定制,操作系统的基本内核至少需要200KB。现在Microsoft又推出了针对移动应用的Windows Mobile操作系统。Windows Mobile是微软进军移动设备领域的重大品牌调整,它包括Pocket PCSmartphoneMedia Centers三大平台体系,面向个人移动电子消费市场。


5uClinux


       uClinux开始于Linux 2.0的一个分支,它被设计用来应用于微控制领域。uClinux最大的特征是没有MMU(内存管理单元模块)。它很适合那些没有MMU的处理器,如ARM7TDMI等。这种没有MMU的处理器在嵌入式领域中应用得相当普遍。同标准的Linux相比,由于uClinux上运行的绝大多数用户程序并不需要多任务。另外,针对uClinux内核而二进制代码和源代码都经过了重新编写,以紧缩和裁剪基本的代码。这就使得uClinux的内核同标准的Linux内核相比比较小,但是它仍能保持Linux操作系统常用的API,小于512KB的内核和相关的工具。操作系统所有的代码加起来小于900KB


       uClinux有完整的TCP/IP协议栈,同时对其它多种网络协议都提供支持,这些网络协议都在uClinux上得到了很好的实现。uClinux可以成称为是一个针对嵌入式系统的优秀网络操作系统。uClinux所支持的文件系统很多,其中包括了最常用的NFS(网络文件系统)ext2(第二代扩展文件系统,它是Linux文件系统的标准)MS-DOSFAT16/32Cramfsjffs2ramfs等。


6Linux


       Linux具有很多版本,下面介绍BlueCat LinuxHardHat Linux


       BlueCat LinuxLynux1N’orks公司开发的专用于嵌入式实时领域的应用开发产品,支持以LinuxWindows作为主机的交叉开发环境。BlueCat的开发环境是一个完整的开发、调试及服务体系,为嵌入式实时应用程序的开发提供了品种繁多的开发工具和性能分析工具,例如,交叉编辑器gcc/g++,内核裁剪工具mkimage,调试工具如源代码级系统调试工具Total/gdb,内核调试工具SKdb,支持多种shell环境bashashsash和多种Linux的编辑器。


       BlueCat Linux提供了丰富的、支持许多种嵌入式处理器的板级支持包BSP,大大减少了产品投入市场的时间,其支持的处理器包括以下几种:


       (1) Intel xScale Micro architecture


(2) Network Processors and IA-32


(3) MIPS


(4) ARM系列。


(5) PowerPC


(6) X86系列。


HardHat LinuxMonta Vista公司针对嵌入式设备量身定制的、实时的、专业的嵌入式设备操作系统。它针对嵌入式设备的处理器、存储器资源有限的特点,在不减少新内核对嵌入式设备有利的、特性的基础上,对Linux内核进行高度裁剪、配置。


HardHat Linux所配备的Cross Development Kit(CDK)为从事远程嵌入式设备上的系统开发、应用开发提供了良好的环境。CDK提供了一个可以应用于很大范围的主机——目标机结构可普遍支持的开发环境。利用CDK,可以在主机上编辑、编译源程序,而把编译完成的程序放到目标机上运行。同时,在主机上进行跟踪和排错。这样,在编译和调试程序的时候就不再受到设备资源的限制。


7uC/OS-II


       源码开放(C代码)的免费嵌入式系统uC/OS-II简单易学,提供了嵌入式系统的基本功能,其核心代码短小精悍,如果针对硬件进行优化,还可以获得更高的执行效率。当然,uC/OS-II相对于商用嵌入式系统来说还是过于简单,而且存在开发调试困难的问题。uC/OS-II的主要特点包括:公开源代码、可移植性很强(采用ANSI C编写)、可固化、可裁剪、占先式、多任务、系统任务、中断管理、稳定性和可靠性都很强。


8Nuclues


       Nuclues操作系统是由Advanced Technology Inc开发的。Nuclues PLUS是为实时嵌入式应用而设计的一个抢占式多任务操作系统内核,其95%的代码是用ANSI C写成的,因此,非常便于移植并能够支持大多数类型的处理器。从现实角度来看,Nuclues PLUS是一组C函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的RAM中或直接烧录到目标板的ROM中执行。在典型的目标环境中,Nuclues PLUS核心代码一般不超过20KBNuclues PLUS采用了软件组件的方法,每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。Nuclues PLUS的组件包括任务控制、内存管理、任务间通信、任务的同步与互斥、中断管理、定时器及I/O驱动等。

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条