常见的嵌入式操作系统有哪些?
嵌入式操作系统,通俗地说就是为嵌入式系统设计的操作系统,是运行在嵌入式硬件 上的一类系统软件。嵌入式系统负责管理系统资源,为用户提供调用接口,方便用户应用 程序开发。一般来说,嵌入式操作系统是由启动程序(Bootloader)、核心(Kernel)、根文 件系统(Root File System)组成的。通过特殊的烧录工具把编译好的嵌入式系统文件映像 烧写到目标板的只读存储器(ROM)或者 Flash 存储器中。
一个嵌入式系统的性能好坏很大程度上决定了整个嵌入式系统的性能。按照实时性能,嵌入式操作系统可以分成实时系统和分时系统。实时系统主要用在控制和通信领域, 分时系统主要用在消费类电子产品。本节将介绍几种常见的嵌入式操作系统。
1、 VxWorks
VxWorks 是美国 WindRiver 公司(国内也称做风河公司)开发的高性能实时嵌入式操作系统。其特点是使用了自己开发的 WIND 内核,有着很高的实时性能。该系统支持多种处理器,包括 PowerPC、x86、MIPS、ARM 等,内核具备很好的裁剪能力,支持应用程序动态下载和链接。VxWorks 系统提供了强大的集成开发工具 Tornado,用户可以在主机通过网络连接目标板的 TargetServer 直接调试目标板的程序,就好像在本地调试一样。此外VxWorks 还具有很好的兼容性,其接口符合 POSIX(可移植操作系统接口)标准,用户可以把其他系统上的应用程序很快移植到 VxWorks 系统,降低了开发难度。VxWorks 系统内核是由进程管理、存储管理、设备管理、文件管理、网络协议等组成。内核占用很小的存储空间,最小的 WIND 内核可以配置到编译后仅有十几 KB 大小。精炼的内核保证了优异的实时性能。VxWorks 系统被用在美国的火星探测器上,可见其稳定性和实时性确实很高。
国内最早在 1996 年引进 VxWorks 系统,主要应用在通信、国防、工业控制和医疗设备领域。VxWorks 系统是研究嵌入式操作系统的一个很好平台,不过它是一个商业操作系统,开发和使用成本都非常高。
2 、Windows CE
Windows CE 是微软公司为嵌入式产品设计的一种嵌入式操作系统,主要针对需要多线程、多任务而且资源有限的设备。该系统采用模块化设计,开发人员可以定制不同的 功能。Windows CE 系统支持丰富的外部硬件设备,包括键盘、鼠标、触摸板、串口、网口、USB、音频设备等。并且该系统有与 Windows 一致的图形界面,可以很好地提高用户体验。Windows CE 的最大特点就是支持上千个微软 Win32 编程接口(Microsoft Win32 API)。 在 Windows 下开发过应用程序的程序员可以很快地熟悉 Windows CE。此外,Windows CE还支持 PC 上的模拟器,用户可以从模拟器上开发应用,调试完毕后再下载到目标板执行,提高了开发效率。
Windwos CE 系统设计简单灵活,主要应用在各种小型设备,例如掌上电脑、餐厅点 餐器等设备上。
3、PalmOS
Palm 是 3Com 公司开发的一种掌上电脑产品。PalmOS 是为该掌上电脑专门设计的一种 32 位嵌入式操作系统。它在设计的时候就充分地考虑了掌上电脑资源紧张的情况,所以 适合内存较小的掌上电脑使用。除此之外,PalmOS 提供了一个开放的操作系统接口,其他厂商和用户可以为其编写应用程序。
PalmOS 最大限度地考虑了节能和硬件资源问题,提供了良好的电源管理功能和合理的内存管理功能。Palm 设备的内存都是可读写的 RAM,所以访问速度非常快。此外 PalmOS还有很强的同步能力,可以与 PC 同步数据。
4 、Symbian
Symbian OS 中文名称叫做塞班系统,是由诺基亚、索尼爱立信、摩托罗拉等几家移动通信设备制造商联合设计的嵌入式操作系统。塞班系统主要针对手机,设计目标是简单 易用。
塞班系统有一个强大的核心,支持对象导向系统和 Sun Java 语言。该系统的应用程序主要使用 C++和 Java 开发,从应用开发角度来说,可以缩短开发周期。塞班系统本身支持多种外部设备,而且为厂商和用户留有丰富的接口并且提供了开发工具。用户可以很快地在塞班系统开发应用程序。
5、 嵌入式Linux
嵌入式Linux(Embedded Linux)是标准Linux经过小型化裁剪处理之后的专用Linux操作系统,能够固化于容量只有几KB或者几MB的存储器芯片或者单片机中,适合于特定嵌入式应用场合。目前,有很多开发的嵌入式系统中,大约有一半的系统使用嵌入式linux,嵌入式linux有鲜明的层次结构,有强大的网络支持功能,具备完整的工具链,易建的开发环境等,而且也可以实现跨域嵌入式系统开发中仿真工具的障碍Linux具有广泛的硬件支持特性。常用嵌入式操作系统。