引言
在最近的几年中,嵌入式技术得到了飞速的发展。大到汽车、电梯、医疗仪器乃至工业设备,小到手机、MP4、照相机等消费电子产品,甚至是人们生活中所熟知的电冰箱、微波炉、洗衣机等传统电器,到处可以看到嵌入式系统的身影。根据BCC Research Group的分析结果,嵌入式行业在最近5年中保持着年均14%的增长,到2009年将会成为一个880亿的巨大市场。
所谓嵌入式系统是指为特定应用而设计的专用电脑系统,通常执行的是带有特定要求的预先定义的任务。说到嵌入式系统上的操作系统,人们首先想到的是各种经过裁剪的Linux以及WinCE。但是Linux和WinCE本身作为单内核(monolithic kernel)操作系统,内核部分过于复杂,并不适用于嵌入式平台。而μC/Os-II和eCos等又过于简单,不能提供完整的功能。而随着微内核(microkernel)操作系统的理论和实现越来越成熟,微内核操作系统开始成为嵌入式平台一个很好的选择。
图1 嵌入式平台操作系统占有率比较图
嵌入式平台对操作系统的需求
嵌入式平台上运行的操作系统一方面会根据嵌入式平台所执行的功能对内核组件进行裁剪,在满足系统的应用功能的基础上去除不必要的部分;另一方面,嵌入式平台对操作系统的可靠性,实时性和安全性特性有很高的要求。
可靠性是指嵌入式设备特别是工业设备中的嵌入式系统经常需要连续运行数以年计的时间而不出差错。可以想像如果飞机中的嵌入式系统在飞机飞行时崩溃重启,会造成多么大的危害。这就要求嵌入式系统上的操作系统的运行完全没有错误,或者在错误出现的时候可以快速自动复位,并且避免在操作系统中使用不稳定的模块。
实时性是指系统能在确定的时间内执行操作并对外部的异步事件做出响应,比如汽车发生车祸时安全气囊必须在极短的时间内打开。一次正确的操作不仅要求逻辑功能上的正确,而且要求完成这些操作所花费的时间在限定之内。实时又分成硬实时和软实时,硬实时要求任务在规定时间内必须完成,这由操作系统来保证;而软实时要求事件响应是实时的,并按照任务的优先级,尽可能在短时间内完成任务。实时操作系统需要调度一切可利用的资源完成有实时性要求的任务,其次才着考虑提高操作系统的整体效率。
随着嵌入式系统越来越多得与外部连接,甚至是通过互联网连接,其安全性也越来越受到关注。比如用掌上电脑进行网上购物的时候,用户的银行帐号信息必须得到严格的保护。安全性具体是指要求嵌入式设备在与外部连接的过程中,其内部的数据不会偶然或被恶意地破坏、更改或者泄露,维持嵌入式系统中信息的保密性和完整性。