嵌入式操作系统的发展历程、特点及发展趋势
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式操作系统的发展历程、特点及发展趋势
摘要:本文回顾了嵌入式操作系统发展的历史,通过与通用桌面操作系统的比较,分析了嵌入式操作系统的特点,并且从嵌入式操作系统市场和技术的发展着手,探讨了嵌入式系统的未来发展趋势。
关键词:嵌入式系统;嵌入式操作系统;实时性
1.嵌入式操作系统的发展历程
嵌入式系统是以应用为中心,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。综观嵌入式技术的发展,大致经历了以下3个阶段:第一阶段:嵌入技术的早期阶段,以功能简单的专用计算机或单片机为核心的可编程控制器形式存在,具有监测、伺服、设备指示等功能。这种系统大部分应用于各类工业控制和飞机、导弹等武器装备中。
第二阶段:以嵌入式CPU和嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:计算机硬件出现了高可靠、低功耗的嵌入式CPU,如Power PC 等。
第三阶段:以芯片技术和Internet技术为标志的嵌入式系统。微电子技术发展迅速,SOC(片上系统)使嵌入系统越来越小,功能却越来越强。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式技术与Internet技术的结合正推动嵌入式技术的快速发展。
嵌入式操作系统是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中
解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统伴随着嵌入式系统的发展经历了三个比较明显的阶段:
第一阶段:无操作系统的嵌入算法阶段,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口,比较适合于各类专用领域中。
第二阶段:以嵌入式CPU为基础、简单操作系统为核心的嵌入式系统。CPU 种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。
第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统。能运行于各种类型的微处理器上,兼容性好;内核精小、效率高,具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口API;嵌入式应用软件丰富。
2.嵌入式操作系统的特点
1)实时性
在信息时代,人们需要在有效的时间里对接受的信息进行处理,为进一步的工作和决策争取时间,这就要求工作系统具有很高的实时性。所谓实时性,其核心含义在于操作系统在规定时间内准确完成应该做的事情,并且操作系统的执行线索是确定的,而不是单纯的速度快。
大多数嵌入式操作系统工作在对实时性要求很高的场合,主要对仪器设备的动作进行检测控制,这种动作具有严格的、机械的时序;而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作,人的动作和反应在时序上并不很严格。比如,用于控制火箭发动机的嵌入式系统,它所发出的指令不仅要求速度快,而且多个发动机之间的时序要求非常严格,否则就会失之毫厘,谬以千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。即使
我们所开发的并不是生命攸关的或者生产控制那样的关键任务系统,例如对嵌入式操作系统应用来说很有前途的领域-----消费电子产品,设备的高可靠性可以有效地减低维护成本,软件运行效率高也会降低对CPU的要求,从而降低硬件成本。对于此类价格十分敏感的产品,实时性、可靠性仍然是非常值得重视的问题。因此,实时性是嵌入式系统最大的优点,在嵌入式软件中最核心的莫过于嵌入式RTOS实时操作系统。
2)可剪裁性
能否根据悠扬的乐曲对系统的功能模块进行配置是嵌入式系统与普通系统的另一区别。这可以从以下几个方面分析:
i.从硬件环境来看,普通系统具有标准化的CPU存储和I/O架构,而嵌入式
环境的硬件环境只有标准化的CPU,没有标准的存储、I/O和显示器单元。ii.从应用环境来看,桌面操作系统面向复杂多变的应用,而嵌入式操作系统面向单一设备的固定的应用。
iii.从开发界面来看,桌面操作系统给开发人员提供一个“黑箱”,让开发人员通过一系列标准的系统调用来使用操作系统的功能,而嵌入式试图
为开发人员提供一个“白箱”,让开发人员可以自主控制系统的所有资
源。普通系统的研究开发是尽可能在不改变自身的前途下具有广泛的适
应性。也就是说:不论应用环境怎么改变,都不应对自身做太多的变化。
而应用于嵌入式环境的RTOS,在研发的时候就必须立足于面向对象,改
变自身、开放自身,让开发人员可以根据硬件环境和应用环境的不同而
对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设
备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所
需的功能拿来即可以。可剪裁性在软件工程阶段是利用软件配置方法实
现软件构建的“即插即用”。
3)可靠性
一般来说,嵌入式系统一旦开始运行就不需要人的过多干预。在这种条件下,要求负责系统管理的嵌入式操作系统具有较高的稳定性和可靠性。而普通操作系统则不具备这种特点。这导致桌面操作环境与嵌入式环境在设计思路上有重大的不同。