三种嵌入式利用体系的阐发与比较
发布日期:2011-05-12
择要:提要三种常用的嵌入式利用体系——Palm OS、Windows CE、Linux;在此底子上、阐发、比较这三种嵌入式利用体系,给出它们之间的异同点及各自的实用范畴。
1 嵌入式体系与嵌入式利用体系
1.1 嵌入式体系
嵌入式体系因此嵌入式谋略机为技能内核,面向用户、面向产品、面向应用,软硬件可淘汰的,实用于对结果、可靠性、资源、体积、功耗等综合性能有严格恳求的专用谋略机体系。
嵌入式体系应具有的特点是:高可靠性;在恶劣的环境或忽然断电的环境下,体系仍旧可以大概正常变乱;很多嵌入式应用恳求及时性,这就恳求嵌入式利用体系具有及时处理惩罚处罚本领 ;嵌入式体系和细致应用有机地连合在一起,它的升级换代也是细致产品同步举行;嵌入式体系中的软件代码恳求高质量、高可靠性,一样通常都固化在只读存储器中或闪存中,也便是说软件恳求固态化存储,而不是存储在磁盘等载体中。
1.2 嵌入式利用体系
嵌入式利用体系EOS(Embedded Operating System)是一种用途广泛的体系软件,已往它紧张应用于财产控制和国防体系范畴。EOS认真嵌入体系的全部软、硬件资源的分派、调理作,控制、调和并发活动;它必须表现其地点体系的特性,可以大概通过装卸某些模块来到达体系所恳求的结果。如今,已推出一些应用比较告成的EOS产品系列。随着Internet技能的生长、信息家电的广泛应用及EOS的微型化和专业化,EOS开始从单一的弱结果向高专业化的强结果方向生长。嵌入式利用体系在体系及时高效性、硬件的干系依赖性、软件固化以及应用的专用性等方面具有较为突出的特点。EOS是相敷衍一样通常利用体系而方的,它除具备了一样通常利用体系最底子的结果,如任务调理、同步机制、克制处理惩罚处罚、文件处理惩罚处罚等外,另有以下特点:
①可装卸性。开放性、可伸缩性的体系布局。
②强及时性。EOS及时性一样通常较强,可用于种种配置控制当中。
③同一的接口。提供种种配置驱动接口。
④利用方便、大抵、提供友爱的图形GUI,图形界面,寻求易学易用。
⑤提供强大的网络结果,支持TCP/IP协议及别的协议,提供TCP/UDP/IP/PPP协议支持及同一的MAC访问层接口,为种种移动谋略配置预留接口。
⑥强稳固性,弱交互性。嵌入式系同一旦开始运行就不须要用户过多的干涉干涉,这就要认真体系办理的EOS具有较强的稳固性。嵌入式利用体系的用户接口一样通常不提供利用下令,它通过体系的调用下令向用户步调提供办事。
⑦固化代码。在嵌入式体系中,嵌入式利用体系和应用软件被固化在嵌入式体系谋略机的ROM中。资助存储器在嵌入式体系中很少利用,因此,嵌入式利用体系的文件办理结果应该可以大概很容易地拆卸,而用种种内存文件体系。
⑧更好的硬件适应性,也便是精良的移植性。
国际上用于信息电器的嵌入式利用体系有40种左右。如今,市场上非常盛行的EOS产品,包括3Com公司部属子公司的Palm OS,环球占据份额达50%,Microsoft公司的Windows CE不过29%。在美国市场,Palm OS更以80%的占据率远超Windows CE。开放源代码的Linux很适于做信息家电的开辟。比如:中科红旗软件技能有限公司开辟的红旗嵌入式Linux和美商网虎公司开辟的基于Xlinux的嵌入式利用体系“夸克”。“夸克”是如今全天下最小的Linux,它有两具很突出的特点,便是体积小和利用GCS编码。
2 三种常用的嵌入式利用体系
2.1 Palm OS
Palm是3Com公司的产品,其利用体系为Palm OS。Palm OS是一种32位的嵌入式利用体系。Palm提供了串行通讯接口和红外线传输接口,利用它可以方便地与别的外部配置通讯、传输数据;拥有开放的OS应用步调接口,开辟商可根据须要自行开辟所需的应用步调。Palm OS是一套具有术强开放性的体系,如今有约莫数千种专用为Palm OS编写的应用步调,从步调内容上看,小到个人私家私家办理、游戏,大到行业办理方案,Palm OS无所不包。在丰富的软件支持下,基于Palm OS的掌上谋略机结果得以不绝扩展。
Palm OS是一套专门为掌上谋略机开辟的OS。在编写步调时,Palm OS充分思量了掌上谋略机内存相对较小的环境,因此它只占据非常小的内存。由于基于Palm OS编写的应用步调占用的空间也非常小(通常只有几十KB),以是,基于Palm OS的掌上谋略机(固然只有几MB的RAM)可以运行浩繁应用步调。
由于Palm产品的最大特点是利用简便、机体轻巧,因此决定了Palm OS应具有以下特点。
①利用体系的节能结果。由上掌上谋略机恳求利用电源尽大概小,因此在Palm OS的应用步调中,要是没有变乱运行,则体系配置进入半休眠(doze)的状态;要是应用步调克制活动一段时间,则体系主动进入休眠(sleep)状态。
②公平的内存办理。Palm的存储器全部是可读写的快速RAM,动态RAM(Dynamic RAM)雷同于PC机上的RAM,它为全局变量和别的不需永世生存的数据提供临时的存储空间;存储RAM(Storage RAM)雷同于PC机上的硬盘,可以永世生存应用步调和数据。
③Palm OS的数据因此数据库(database)的格局来存储的。数据库是由一组记录(records)和一些数据库头信息构成的。为包管步调停理惩罚处罚速率和存储器空间,在处理惩罚处罚数据的时间,Palm OS不是把数据从存储堆(Storage Heap)拷贝到动态堆(Dynamic Heap)后再举行处理惩罚处罚,而是在存储堆中直接处理惩罚处罚。为克制错误地调用存储器地点,Palm OS规定,这齐备都必须调用其内存办理器里的API来实现。
Palm OS与同步软件(HotSync)连合可以使掌上谋略机与PC机上的信息实现同步,把台式同的结果扩展到了掌上谋略机。Palm应用范畴相称广泛,如:连合及变乱表办理、电子邮件及互联网通讯、贩卖职员及组别主动化等等。Palm外围硬件也非常丰富,有数码相机、GPS汲取器、调制解调器、GSM无线德律风、数码音频播放配置、便携键盘、语音记录器、条码扫描、无线寻呼汲取器、探测仪。此中Palm与GPS连合的应用,不但可以作导航定位,还可以连合GPS作气候的监测、地名观察等。
2.2 Windows CE
Windows CE是微软开辟的一个开放的、可升级的32位嵌入式利用体系,是基于掌上型谋略机类的电子配置利用。它是精简的Windows 95。Windows CE的图形用户界面相称大方。此中CE中的C代表袖珍(Compact)、斲丧(Consumer)、通讯本领(Connectivity)和朋侪(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT差别的是,Windows CE是全部源代码全部由微软自行开辟的嵌入式新型利用体系,其利用界面虽源头于Windows 95/98,但Windows CE是基于Win32 API重新开辟的、新型的信息配置平台。Windows CE具有模块化、布局化和基于Win32应用步调接口以及与处理惩罚处罚器无关等特点。Windows CE不但承继了传统的Windows图形界面,并且在Windows CE平台上可以利用Windows 95/98上的编程东西(如Visual Basic、Visual C++等)、利用同样的函数、利用同样的界面网格,使绝大多数的应用软件只需大抵的修改和移植就可以在Windows CE平台上连续利用。
Windows CE的筹划目标是:模块化及可伸缩性、及时性能好,通讯本领强大,支持多种CPU。它的筹划可以餍足多种配置的须要,这些配置包括了财产控制器、通讯集线器以及贩卖终端之类的企业配置,另有像照相机、德律风和家用娱乐东西之类的斲丧产品。一个典范的基于Windows CE的嵌入体系通常为某个特定用途而筹划,并在不联机的环境下变乱。它恳求所利用的利用体系体积较小,内建有对克制的相应结果。
Windows CE的特点有:
①具有机动的电源办理结果,包括瞬眠/唤醒模式。
②利用了东西存储(object store)技能,包括文件体系、注册表及数据库。它还具有很多高性能、高屈从的利用体系特 性,包括按需换页、共享存储、交错处理惩罚处罚同步、支持大容量堆(heap)等。
③拥有精良的通讯本领。广泛支持种种通讯硬件,亦支持直接的局域连接以及拨号连接,并提供与PC、内部网以及Internet的连接,还提供与Windows 9x/NT的最佳集成和通讯。
④支持嵌套克制。容许更高优先级别的克制起首得到相应,而不是等待低级别的ISR完成。这使得该利用体系具有嵌入式利用体系所恳求的及时性。
⑤更好的线程相应本领。对高级别IST(克制办事线程)的相适时间上限的恳求越发严格,在线程相应本领方面的改革,资助开辟职员掌握线程转换的细致时间,并通过加强的监控本领和对硬件的控制本领资助他们创建新的嵌入式应用步调。
⑥256个优先级别。可以使开辟职员在控制嵌入式体系的时序摆设方面有更大的机动性。
⑦Windows CE的API是Win32 API的一个子集,支持近1500个Win32 API。有了这些API,足可以编写恣意巨大的应用步调。固然,在Windows CE体系中,所提供的API也可以随细致应用的需求而定。
在掌上型谋略机中,Windows CE包括如下一些告急组件:Pocket Outlook及其组件、语音灌音机、移动频道、长途拨号访问、天下时钟、谋略器、多种输入法、GBK字符集、中文TTF字库、英汉双向词典、袖珍欣赏器、电子邮件、Pocket Office、体系设置、Windows CE Services软件。
2.3 Linux
Linux是一个雷同于Unix的利用体系。它开端于芬兰一个名为Linus Torvalds的业余喜好,但是如今已经是最为盛行的一款开放源代码的利用体系。Linux从1991年问世到如今,短短10年的时间内已生长成为一个结果强大、筹划美满的利用体系,伴随网络技能进步而生长起来的Linux OS已成为Microsoft公司的DOS和Windows 95/98的强劲敌手。Linux体系不但可以大概运行于PC平台,还在嵌入式体系方面大放光芒,在种种嵌入式Linux OS敏捷生长的状态下,Linux OS垂垂形成了可与Windows CE等EOS举行抗衡的场合场合场面。如今正在开辟的嵌入式体系中,49%的项目选择Linux作为嵌入式利用体系。Linux现已成为嵌入式利用的抱负选择。
中科红旗软件技能有限公司开辟的红旗嵌入式Linux正在成为很多嵌入式配置厂商的首选。在不到一年的时间内,红旗公司先后推出了PDA、机顶盒、瘦客户机、互换机用的嵌入式Linux体系,并且投入了实际应用。现以红旗嵌入式Linux为例来讲授嵌入式Linux OS的特点:
①精简的内核,性能高、稳固,多任务。
②实用于差别的CPU,支持多种体系布局,如X86、ARM、MIPS、ALPHA、SPARC等。
③可以大概提供美满的嵌入式GUI以及嵌入式X-Windows。
④提供嵌入式欣赏器、邮件步调、MP3播放器、MPEG播放器、记事本等应用步调。
⑤提供完备的开辟东西和SDK,同时提供PC上的开辟版本。
⑥用户可定制,可提供图形化的定制和配置东西。
⑦常用嵌入式芯片的驱动集,支持大量的周边硬件配置,驱动丰富。
⑧针对嵌入式的存储方案,提供及时版本和美满的嵌入式办理方案。
⑨美满的中文支持,强大的技能支持,完备的文档。
⑩开放源码,丰富的软件资源,广泛的软件开辟者的支持,价格低廉,布局机动,实用面广。
3 三种嵌入式利用体系的比较
3.1 Linux OS与Windows Ce的比较
嵌入式Linux OS与Windows CE相比的长处:第一,Linux是开放源代码的,不在存黑箱技能,遍布环球的浩繁Linux喜好者都是Linux开辟者的强大技能支持者;而Windows CE好坏开放性OS,使第三方很难实现产品定制。第二,Linux的源代码到处可得,表明丰富,文档齐备,易于办理种种标题。第三,Linux的内核小、屈从高;而Windows CE在这方面是鸠拙的,占用过多的RAM,应用步调巨大。第四,Linux是开放源代码的OS,在价格上极具竞争力,得当中国国情。Windows CE的版权用度是厂家不得不思量的因素。第五,Linux不但支持x86芯片,还是一个跨平台的体系。到如今为止,它可以支持20~30种CPU,很多CPU(包括家电业的芯片)厂商都开始做Linux的平台移植变乱,并且移植的速率远远超过跨过Java的开辟环境。要是即日采取Linux环境开辟产品,那么将来更改CPU时就不会遇到更改平台的困扰。第六,Linux内核的布局在网络方面好坏常完备的,它提供了对包括十兆位、百兆位及千兆位的以太网络,另有无线网络、Token ring(令牌环)和光纤以致卫星的支持。第七,Linux在内核布局的筹划中思量适应体系的可淘汰性的恳求,Windows CE在内核布局的筹划中并未思量适应体系的高度可淘汰性的恳求。
嵌入式Linux OS与Windows CE相比的缺点:第一,是开辟难度较高,须要很高的技能力气;第二,是内核调试东西不全,调试不太方便,尚没有很好的用户图形界面;第三,与某些贸易OS一样,嵌入式Linux占用较大的内存,固然,人们可以去失部分无用的结果来减小利用的内存,但是要是不过细,将引起新的标题;第四,有些Linux的应用步调须要假造内存,而嵌入式体系中并没有或不须要假造内存,以是并非全部的Linux应用步调都可以在嵌入式体系中运行。
3.2 Palm OS与Windows CE的比较
3Com公司的Palm OS是掌上谋略机市场中较为精良的嵌入式利用体系,是针对这一市场专门筹划的体系。它有开放的利用体系应用步调接口(API),支持开辟商根据须要自行开辟所需的应用步调,具有非常丰富的应用步调。在掌上谋略机市场上独占其霸主职位地方已久。
从技能层面上讲,Palm OS是一套专门为掌上谋略机开辟的利用体系,具有很多Windows CE无法相比的上风;Windows CE过于痴肥,不得当应用在自制的掌上谋略机中。
Palm OS是一套具有极强开放性的体系。开辟者向用户免费提供Palm OS的开辟东西,容许用户利用该东西在Palm OS底子上方便地编写、修改干系软件。与之相比,Windows CE的开辟东西就显得巨大多了,这使得一样通常用户很难掌握。这也Palm OS与Windows CE的另一个紧张区别。
我们从常用EOS的大小、可开辟定制、互利用性、通用性、及时性及应用范畴几个方面,通过表1来归纳如下:
Palm OS Windows CE 3.0 嵌入Linux大小 内核几十KB,整个嵌入环境也不大 内核占500KB的ROM和250KB的RAM。整个Windows CE利用体系,包括硬件抽象层(HAL和Hardware Abstraction Layer)、Windosw CE Kernel、User、GDI、文件体系和数据库,约莫共1.5MB 内核从几十KB到500KB。整个嵌入式环境最小才100KB左右,并且以后还将越来越小可开辟定制 可以方便地开辟定制 用户开辟定制不方便,受Microsoft公司限定较多 用户可以方便地开辟定制,可以自由卸装用户模块,不受恣意限定互利用性 互利用性强 互利用性比较强,Windows C可通过OEM的容许协议利用于别的配置 互利用性很强
通用性 实用于多种CPU和多种硬件平台 实用于多种CPU和多种硬件平台 不但适应于x86芯片,并且可以支持30多种CPU和多种硬件平台,开辟和利用都很容易
实用性 比较好 比较好 很好实用的应用范畴 应用范畴较广,分外实用于掌上谋略机的开辟 应用范畴较广。WindowsC是为新一代非传统的PC配置而筹划的,这些配置包括掌上谋略机、手持谋略机以及用于车载谋略机等 由于Linu内核布局及结果等缘故因由,嵌入式Linu 应用范畴非常广泛,分外适于举行信息家电的开辟
结语
Palm OS、Windows CE、Linux这三种嵌入式利用体系各有差别的特点,差别的用途;但Linux比Palm OS和Windows CE更小、更稳固,并且Linux是开放的OS,在价格上极具竞争力。如今整个市场尚未成型,嵌入式利用体系也未形成同一的国际标准,并且Linux的一系列特性又为我们开辟国产的嵌入式利用体系提供了方便,因此,我们有机会在这个未成熟的市场上占据一席之地。