常用的嵌入式操作系统可分为:商用系统、专用系统以及开放系统三大类
(1)商用嵌入式操作系统。
商用嵌入式操作系统功能较强大,辅助工具较齐全,可应用的范围也较广,在许多领域都有应用,例Wircro Soft的Windows CE 、WindRiver的Vxworks以及中科院的Hopen等。
(2)专用嵌入式操作系统
专用嵌入式操作系统一般不对用户公开,它是一些专业的公司针对该公司产品所特制的嵌入式操作系统。专用嵌入式操作系统功能相对较弱,但具有较强的针对性,而且比普通的商用嵌入式操作系统更加安全可靠。
(3)开放嵌入式操作系统
开放嵌入式操作系统是近年来迅速发展的一类操作系统。因为应用系统发的开发者可免费得到这些系统的源代码,因此开发难度低。但开放嵌入式操作系统的功能简单、技术支持以及系统的稳定性也相对较差,因此对应用系统开发者提出了较高的要求。
现在目前主流常见的四种嵌入式操作系统分别是VxWorks、Windows CE、μC/OS-Ⅱ、嵌入式Linux,它们各自拥有各自的优缺点。
(1)VxWorks
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域逐渐占据一席之地。
VxWorks具有可裁剪微内核结构、高效的任务管理、灵活的任务间通讯、微妙级的中断处理、支持多种物理介质及标准的、完整的TCP/TP网络协议等众多优点,然而其价格昂贵。由于操作系统本身以及开发环境都是专用的,价格一般比较高,通常需要花费10万元人民币以上才能建立起一个可用的开发环境,对每一个应用一般还要另外收起版税。一般不提供源代码,只提供二进制代码。它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。
(2)Windows CE
Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌入式操作系统。为建立针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。从技术角度上讲,Windows CE作为嵌入式操作系统有很多的缺陷:不开放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows一样占用过多的系统内存,运用程序庞大;具有版权许可费。
(3)μC/OS-Ⅱ
μC/OS-Ⅱ是著名的源代码公开的实时内核,是专为嵌入式应用设计的,可用于16位和32位单片机或数字信号处理器(DSP)。它是在原版本μC/OS的基础上做了重大改进与升级,并有了近十年的使用实践,有许多成功应用实时内核的示例。它的主要特点有:公开源代码,容易就能把操作系统移植到各个不同的硬件平台上;可移植性好,绝大部分源代码是用C语言写的,便于移植到其他微处理器上;可固化、可裁剪;多任务,可管理64个任务;实用性和可靠性;由于μC/OS-Ⅱ仅是一个实时内核,这就以为着它不像其他实时操作系统那样提供给用户的只是一些API函数接口,还要很多工作需要用户自己去完成。
(4)嵌入式Linux
嵌入式Linux{BANNED}最佳大的特点就是源代码公开并且遵循GPL协议,在近几年里成为研究热点,据IDG预测嵌入式Linux将占未来两年的嵌入式操作系统份额的50%。
由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从GPL,无须为每例应用交纳许可证费。有大量的应用软件可用。其中大部分都遵从GPL,是开放源代码和免费的。可以稍加修改后应用与用户自己的系统。有大量的免费和有限的开发工具,且都遵从GPL。有庞大的开发人员群体,无需专门的人才,只要懂Unix/Linux和C语言即可。优秀的网络功能,这在互联网时代尤其重要。稳定是Linux本身具备的一个很大优点。内核精悍,运行所需资源少,十分适合嵌入式应用。
支持的硬件数量庞大,嵌入式Linux和普通Linux并五本质区别,PC上用到的硬件嵌入式Linux几乎都支持。而且各种硬件的驱动程序源代码都可以得到,为用户编写自己专有硬件的驱动程序带来很大方便。