嵌入式操作系统比较与选型原则
摘 要
嵌入式系统,是以应用为核心,适合对成本、功能、体积和可靠性等要求较为严格的专用计算机系统。该系统具有软件代码小、响应迅速等特征,在多任务体系中得到了广泛应用。文章将对几种常见的嵌入式操作系统进行比较,并提出其选型原则。
【关键词】嵌入式系统 选型原则 Intemet
嵌入式操作系统,是嵌入式系统(硬、软件系统)中最为核心的组成部分,主要包含底层驱动,如设备驱动接口、系统内核、图形界面等硬件组成部位。嵌入式操作系统,充分融合了通用操作系统的优点,通过对复杂性系统资源实行有效管理、虚拟化硬件等,降低了开发人员移植、维护驱动程序的难度,并提供驱动程度、库函数及应用程序等。相比通用操作系统,嵌入式操作系统还表现出软件固态化、系统高效性、专用性等应用优势。
1 嵌入式操作系统的发展阶段
嵌入式操作系统,主要历经了下列四个发展阶段:
阶段1:嵌入算法。该阶段无操作系统,是以单芯片为主导、可编程控制器形式的操作系统,具有伺服、监测、指示设备等功能。常用于某些专业性较强的工业控制系统,经汇编语言编程予以直接操控,运行完毕后将内存清除。缺点:系统结构与功能相对单一,储存容量低,处理效率不高,且无用户接口。
阶段2:基于嵌入式CPU的嵌入式系统。该阶段,嵌入式操作系统较为简单,且多见CPU。CPU类型多样,通用性比不良;系统效率高,开销不大;通常,安装系统仿真器,操作系统兼容性、扩展性较好;应用软件相对较为专业,但用户界面不佳;系统多用以监控系统负载或程序运行。
阶段3:嵌人式实时操作系统阶段。嵌入式系统多以嵌入式操作系统为主。该系统可在各类微处理器运行,兼容性良好;系统内核精湛、效率极高,有着良好的模块化与扩展性;具有管理文件、多任务、设备支持、图形窗口等多项功能;程序接口(APl)和且嵌入式应用软件多样。
阶段4:嵌入式快速发展时期。多见以Intemet为支撑的嵌入式系统。伴随Intemet技术的发展,嵌入式设备与Intemet融合,将推动嵌入式技术迈向新征程。
2 常见的嵌入式操作系统比较
2.1 VxWorks
VxWorks操作系统,由美国WindRiver公司设计研发(1983年)。作为嵌入式实时操作系统(RTOS),它是Tornado嵌入式开发的核心部分,在嵌人式操作领域较为熟悉。优点:VxWorks系统的微内核结构具有可裁剪性、任务管理效率高、通讯较为灵活;符合POSIX 1003.1b实时扩展,并支持TCP、IP等网络协议和物理介质。缺点:价格高。操作系统开发环境为专有,价格通常高于10万RMB,且支持硬件少。
2.2 Windows CE
Windows CE、Windows系列兼容性较好,这为Windows CE推广提供了可能。WinCE3.0,是以小容量、智能化、32位为主的实时嵌人式操作系统。为构建以掌上、无线设备为服务群的移动应用平台,操作系统内核需200KB以上的ROM。介于嵌入式产品成本、体积等要求严格,需尽量控制处理器所占空间。而嵌入式操作系统在小内存中运行(ROM或者是快闪存储器),对操作系统效率和规模要求较高。Windows CE有下列缺陷:无开放源代码,应用开发人员无法定制产品;效率低、功耗大,占用内存多;需版权许可费。
2.3 嵌入式Linux
嵌入式操作系统的新晋成员,显著特征为:源代码公开且遵守GPL协议。据IDG预测,嵌入式Linux有望成为未来年嵌入式操作系统的核心,占50%。介于源代码公开,人们可自行修改和查错,满足各自应用需求。Internet时代,卓越的网络功能极为关键。稳定,是Linux自身的优势,内核精悍,运行占用少,支持多硬件。嵌入式Linux的缺点:需添加实时软件模块,以保证Linux体系的实时性能。
2.4 μC/OS一Ⅱ
μC/OS一Ⅱ为嵌入式专用设计,是公开源代码的实时内核,适合8位、16位与32位单片机等。主要特征:公开源代码,为移植操作系统提供便利;源代码均为C语言编写,具有可移植性;可固化;可裁剪性;占先式,于运行状态下优先级最佳任务;多任务,可管理不同优先级别的64个任务;函数服务、调用执行时间易确定;实用性,已有成功案例。缺点:μC/OS一Ⅱ仅为实时内核,只能给用户提供某些API函数接口,需由用户自行完成其它工作。
3 嵌入式操作系统的选型原则
3.1 可移植性
开发嵌入式软件时,应重点考虑可移植性问题。一款好的软件,移植性相对较好,能在不同平台、系统上运行,无关于操作系统。软件的通用性与性能往往是矛盾的,通用性一般需以损失软件某些优化性能作为代价。实际中,开发适用于某特定环境的嵌入式浏览器,频率较小。反之,当产品与操作系统结合,通常能发挥产品自身特色。
3.2 可利用资源
产品开发与学术研究不同,其宗旨在于在保证质量、降低成本的基础上,推出用户需要的产品。认真研发产品特色,并由操作系统或第三方添加其它功能。操作系统选型时,可利用资源也极为重要。Linux与WinCE均有很多资源被利用,这也是其优势所在。部分实时操作系统相对封闭,很多功能都需自行开发,这就降低了开发进度。因此,选择嵌入式系统时应将可利用资源作为考虑重点。
3.3 系统定制能力
信息产品的用户需求各异,这就要求系统有较好的定制能力。应抓住产品对系统底层的改动需求,挖掘产品的自身特色。Linux由于源代码开放,定制能力上有先天优势。而WinCE3.0原码的不断开放、嵌入式领域微软的融入,系统的定制能力也有所提升。
3.4 开发成本
不论什么产品,成本问题都必须考虑在内。操作系统选型,也不例外。Linux免费、WinCE等需缴纳许可证费,但这并非问题的答案。成本,必须综合考虑系统选型后对硬件设备、人才培养和公司管理等因素的影响。只有权衡各方面进行选型,才能保证操作系统的长久性。
4 结论
总之,嵌入式系统类型多样,且有着各自的优缺点。实际应用中,我们应根据不同条件和要求,选择相应的操作系统,简化开发程序,研发出更好的嵌入式系统。
参考文献
[1]胡庆武,于颖.基于uClinux嵌入式操作系统的串行接口电路设计[J].电脑知识与技术,2014(13).
作者单位
宁波南车时代传感技术有限公司 浙江省宁波市 315000