嵌入式系统原理与应用设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4.2 嵌入式操作系统

嵌入式操作系统是嵌入式系统中的重要软件,介于应用程序与硬件之间,向上为应用程序提供使用硬件的接口,向下管理控制硬件。

嵌入式操作系统一般仅指操作系统的内核,通常只包括任务管理、存储管理、设备管理与存储器管理等内核模块,窗口界面、文件以及通信协议等模块则不被包括,根据需要选用。实际上,在嵌入式系统中,除了核外模块可根据需要进行裁剪外,内核也需要是可裁剪的,一方面是因为嵌入式系统的需求千差万别,另一方面嵌入式系统要求软、硬件必须精简,不允许有多余的成分,否则易于引起成本增加或可靠性下降。

大多数嵌入式系统应用在实时环境中,因此嵌入式操作系统跟实时(Real-Time)操作系统往往关联在一起,但嵌入式操作系统并非都是实时系统。实时又分为硬实时与软实时两类,一些嵌入式系统,如火箭发射、轮船控制等要求操作系统是硬实时的,另一些嵌入式系统,如手机、PDA与订票系统等,只需软实时甚至非实时都可以。

嵌入式操作系统有近百种,典型的有Linux、Windows CE、VxWorks、Psos、Palm OS、OS-9、LynxOS、QNX、LYNX与µC/OS-II等,下面选取其中具有代表性的几种做一简单介绍。

(1)VxWork

VxWork是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。显著特点是:可靠性高、实时性和可裁减性好,支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS、PowerPC等。

(2)Windows CE

Windows CE是微软开发的一种针对小容量、移动式、智能化32位设备的模块化嵌入式操作系统,主要用于手机、掌上电脑、GPS等。其特点是不够实时,属于软实时操作系统,但由于其Windows背景,界面与Windows相似,用户容易上手。

(3)Palm OS

Palm OS是著名的网络设备制造商3COM旗下的Palm Computing公司的产品,主要针对PDA开发的操作系统,在PDA市场上占有很大的市场份额,市场份额曾经占到将近90%,后来由于Windows CE,尤其是Android的有力竞争,其市场份额急剧下降。

(4)QNX

QNX是加拿大QNX公司的产品,是一个实时的、可扩充的操作系统,部分遵循POSIX标准,图形界面功能强,适合作为机顶盒、手持设备(掌上电脑、手机)、GPS设备的操作系统。

(5)µC/OS-II

µC/OS-II是源码开放、可裁减、结构小巧、抢先式、多任务(64个任务,分0~63级)的一款硬实时操作系统。其内核最小可到2K,包括信号量、消息队列及相关函数等全部功能的内核仅为6~10K,已移植到40多种处理器上。但其不支持文件系统,无GUI,适用于小型控制系统。可靠性已经过美国联邦航空管理局认证,可用于商用飞机。

关于µC/OS-II的更多介绍请参见第5章。

(6)Linux

Linux源码开放、内核小、功能强大(尤其是网络功能)、运行稳定、系统健壮、效率高、易于定制剪裁、支持CPU芯片多,在嵌入式领域得到广泛应用的操作系统。

(7)Android

Android为针对手机应用开发的开源操作系统,以Linux为内核,分为内核、中间件、应用程序框架与应用程序四层。除了手机,目前Android还在平板电脑中受到广泛使用。

目前在嵌入式领域使用最广泛的是Linux与Android,但嵌入式领域需求差别很大,不同的应用有不同的需求,没有最好,只有最适合。