1.1嵌入式系统
嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。嵌入式系统应具有的特征是:高可靠性;在恶劣的环境或忽然断电的情况下,系统一直才能正常工作;许多嵌入式应用要求实时性,这就要求嵌入式操作系统具有实时处理能力;嵌入式系统和具体应用有机地结合在一起,它的升级换代也是具体产品同步进行;嵌入式系统中的软件代码要求高质量、高可靠性,通常都固化在只读储存器中或闪存中,也就是说软件要求固态化储存,而不是储存在c盘等载体中。
1.2嵌入式操作系统
嵌入式操作系统EOS(EmbeddedOperatingSystem)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、调度作,控制、协调并发活动;它必须彰显其所在系统的特点,还能通过装卸个别模块来达到系统所要求的功能。目前,已推出一些应用比较成功的EOS产品系列。随着Internet技术的发展、信息电器的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专用性等方面具有较为突出的特征。EOS是相对于通常操作系统而方的,它除具备了通常操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下特性:
①可装卸性。开放性、可伸缩性的体系结构。
②强实时性。EOS实时性通常较强,可用于各类设备控制当中。
③统一的插口。提供各类设备驱动插口。
④操作便捷、简单、提供友好的图形GUI,图形界面,追求易学易用。
⑤提供强悍的网路功能,支持TCP/IP合同及其它合同,提供TCP/UDP/IP/PPP合同支持及统一的MAC访问层插口,为各类联通估算设备预留插口。
⑥强稳定性,弱交互性。嵌入式系统一旦开始运行就不须要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户插口通常不提供操作命令,它通过系统的调用命令向用户程序提供服务。
⑦固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存贮器在嵌入式系统中极少使用,因而,嵌入式操作系统的文件管理功能应当就能很容易地拆卸,而用各类显存文件系统。
⑧更好的硬件适应性,也就是良好的移植性。国际上用于信息家电的嵌入式操作系统有40种左右。如今,市场上十分流行的EOS产品,包括3Com公司下属子公司的PalmOS,全球占有份额达50%,Microsoft公司的WindowsCE不过29%。在日本市场,PalmOS更以80%的占有率远超WindowsCE。开放源代码的Linux很易于做信息电器的开发。诸如:中科红旗软件技术有限公司开发的红旗嵌入式Linux和美商网虎公司开发的基于Xlinux的嵌入式操作系统“夸克”。“夸克”是目前全世界最小的Linux,它有两具很突出的特征,就是容积小和使用GCS编码。
2三种常用的嵌入式操作系统
2.1PalmOSPalm是3Com公司的产品,其操作系统为PalmOS。PalmOS是一种32位的嵌入式操作系统。Palm提供了串行通讯插口和红外线传输插口,借助它可以便捷地与其它外部设备通讯、传输数据;拥有开放的OS应用程序插口,开发商可依照须要自行开发所需的应用程序。PalmOS是一套具有术强开放性的系统,现今有大概数千种专用为PalmOS编撰的应用程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案,PalmOS无所不包。在丰富的软件支持下,基于PalmOS的掌上笔记本功能得以不断扩充。PalmOS是一套专门为掌上笔记本开发的OS。在编撰程序时,PalmOS充分考虑了掌上笔记本显存相对较小的情况,因而它只占有十分小的显存。
因为基于PalmOS编撰的应用程序占用的空间也十分小(一般只有几十KB),所以,基于PalmOS的掌上笔记本(尽管只有几MB的RAM)可以运行诸多应用程序。因为Palm产品的最大特征是使用简便、机体轻巧,因而决定了PalmOS应具有以下特性。①操作系统的节能功能。由上掌上笔记本要求使用电源尽可能小,因而在PalmOS的应用程序中linux中文乱码,假如没有风波运行,则系统设备步入半休眠(doze)的状态;倘若应用程序停止活动一段时间,则系统手动步入休眠(sleep)状态。②合理的显存管理。Palm的储存器全部是可读写的快速RAM,动态RAM(DynamicRAM)类似于PC机上的RAM,它为全局变量和其它不需永久保存的数据提供临时的储存空间;储存RAM(StorageRAM)类似于PC机上的硬碟,可以永久保存应用程序和数据。③PalmOS的数据是以数据库(database)的格式来储存的。数据库是由一组记录(records)和一些数据库头信息组成的。为保证程序处理速率和储存器空间,在处理数据的时侯,PalmOS不是把数据从储存堆(StorageHeap)拷贝到动态堆(DynamicHeap)后再进行处理,而是在储存堆中直接处理。为防止错误地调用储存器地址,PalmOS规定,这一切都必须调用其显存管理器里的API来实现。PalmOS与同步软件(HotSync)结合可以使掌上笔记本与PC机上的信息实现同步,把台式同的功能扩充到了掌上笔记本。
Palm应用范围相当广泛,如:联络及工作表管理、电子电邮及互联网通讯、销售人员及组别手动化等等。Palm外围硬件也非常丰富,有数码单反、GPS接收器、调制混频器、GSM无线电话、数码音频播放设备、便携按键、语音记录器、条码扫描、无线传呼接收器、探测仪。其中Palm与GPS结合的应用,不但可以作导航定位,还可以结合GPS作气候的检测、地名调查等。
2.2WindowsCEWindowsCE是谷歌开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型笔记本类的电子设备操作。它是精简的Windows95。WindowsCE的图形用户界面相当出众。其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows95/98、WindowsNT不同的是,WindowsCE是所有源代码全部由谷歌自行开发的嵌入式新型操作系统,其操作界面虽来始于Windows95/98,但WindowsCE是基于Win32API重新开发的、新型的信息设备平台。WindowsCE具有模块化、结构化和基于Win32应用程序插口以及与处理器无关等特性。WindowsCE除了承继了传统的Windows图形界面,而且在WindowsCE平台上可以使用Windows95/98上的编程工具(如VisualBasic、VisualC++等)、使用同样的函数、使用同样的界面网格,使绝大多数的应用软件只需简单的更改和移植就可以在WindowsCE平台上继续使用。WindowsCE的设计目标是:模块化及可伸缩性、实时性能好,通讯能力强悍,支持多种CPU。它的设计可以满足多种设备的须要,这种设备包括了工业控制器、通信网桥以及销售终端之类的企业设备,还有像拍照机、电话和家用娱乐器材之类的消费产品。一个典型的基于WindowsCE的嵌入系统一般为某个特定用途而设计,并在不联机的情况下工作。它要求所使用的操作系统容积较小,内建有对中断的响应功能。WindowsCE的特征有:
①具有灵活的电源管理功能,包括瞬眠/唤起模式。
②使用了对象储存(objectstore)技术,包括文件系统、注册表及数据库。它还具有好多高性能、高效率的操作系统特性,包括按需换页、共享储存、交叉处理同步、支持大容量堆(heap)等。
③拥有良好的通讯能力。广泛支持各类通讯硬件,亦支持直接的局域联接以及拔号联接,并提供与PC、内部网以及Internet的联接,还提供与Windows9x/NT的最佳集成和通讯。
④支持嵌套中断。容许更高优先级别的中断首先得到响应,而不是等待低级别的ISR完成。这促使该操作系统具有嵌入式操作系统所要求的实时性。
⑤更好的线程响应能力。对高级别IST(中断服务线程)的响应时间上限的要求愈发严格linux命令手册,在线程响应能力方面的改进,帮助开发人员把握线程转换的具体时间,并通过提高的监控能力和对硬件的控制能力帮助她们创建新的嵌入式应用程序。
⑥256个优先级别。可以使开发人员在控制嵌入式系统的时序安排方面有更大的灵活性。
⑦WindowsCE的API是Win32API的一个子集,支持近1500个Win32API。有了这种API,足可以编撰任何复杂的应用程序。其实,在WindowsCE系统中,所提供的API也可以随具体应用的需求而定。在掌上型笔记本中,WindowsCE包含如下一些重要组件:PocketOutlook及其组件、语音录音机、移动频道、远程拔号访问、世界时钟、计算器、多种输入法、GBK字符集、中文TTF字库、英汉单向辞典、袖珍浏览器、电子电邮、PocketOffice、系统设置、WindowsCEServices软件。
2.3LinuxLinux是一个类似于Unix的操作系统。它起源于美国一个名为LinusTorvalds的业余爱好,并且如今早已是最为流行的一款开放源代码的操作系统。Linux从1991年问世到如今,短短10年的时间内已发展成为一个功能强悍、设计建立的操作系统,伴随网路技术进步而发展上去的LinuxOS已成为Microsoft公司的DOS和Windows95/98的强劲对手。Linux系统除了才能运行于PC平台,还在嵌入式系统方面大放光芒,在各类嵌入式LinuxOS迅速发展的状况下,LinuxOS渐渐产生了可与WindowsCE等EOS进行匹敌的局面。
目前正在开发的嵌入式系统中,49%的项目选择Linux作为嵌入式操作系统。Linux现已成为嵌入式操作的理想选择。中科红旗软件技术有限公司开发的红旗嵌入式Linux正在成为许多嵌入式设备厂商的首选。在不到一年的时间内linux作为嵌入式操作系统的优势,红旗公司先后推出了PDA、机顶盒、瘦顾客机、交换机用的嵌入式Linux系统,但是投入了实际应用。现以红旗嵌入式Linux为例来讲解嵌入式LinuxOS的特征:
①精简的内核,性能高、稳定,多任务。②适用于不同的CPU,支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等。
③能够提供建立的嵌入式GUI以及嵌入式X-Windows。
④提供嵌入式浏览器、邮件程序、MP3播放器、MPEG播放器、记事本等应用程序。
⑤提供完整的开发工具和SDK,同时提供PC上的开发版本。
⑥用户可订制,可提供图形化的订制和配置工具。
⑦常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。
⑧针对嵌入式的储存方案,提供实时版本和建立的嵌入式解决方案。
⑨完善的英文支持,强悍的技术支持,完整的文档。
⑩开放源码,丰富的软件资源,广泛的软件开发者的支持,价钱低廉,结构灵活,适用面广。
3三种嵌入式操作系统的比较
3.1LinuxOS与WindowsCe的比较
嵌入式LinuxOS与WindowsCE相比的优点:
第一,Linux是开放源代码的,不在存暗箱技术,遍及全球的诸多Linux爱好者都是Linux开发者的强悍技术支持者;而WindowsCE是非开放性OS,使第三方很难实现产品订制
。第二,Linux的源代码随处可得,注释丰富,文档齐全,便于解决各类问题。
第三,Linux的内核小、效率高;而WindowsCE在这方面是笨拙的,占用过多的RAM,应用程序庞大。
第四,Linux是开放源代码的OS,在价钱上极具竞争力,适宜中国国情。WindowsCE的版权费用是厂家不得不考虑的诱因。
第五,Linux除了支持x86芯片,还是一个跨平台的系统。到目前为止,它可以支持20~30种CPU,好多CPU(包括电器业的芯片)厂商都开始做Linux的平台移植工作,并且移植的速率远远超过Java的开发环境。假如明天采用Linux环境开发产品,这么将来更换CPU时就不会碰到更换平台的困惑。
第六,Linux内核的结构在网路方面是特别完整的,它提供了对包括十兆位、百兆位及百兆位的以太网路,还有无线网路、Tokenring(令牌环)和光纤甚至卫星的支持。
第七,Linux在内核结构的设计高考虑适应系统的可裁减性的要求,WindowsCE在内核结构的设计中并未考虑适应系统的高度可裁减性的要求。
嵌入式LinuxOS与WindowsCE相比的弱点:
第一,是开发难度较高,须要很高的技术实力;
第二,是核心调试工具不全,调试不太便捷,尚没有挺好的用户图形界面;
第三,与个别商业OS一样,嵌入式Linux占用较大的显存,其实,人们可以去除部份无用的功能来减少使用的显存,而且假如不仔细,将造成新的问题;
第四,有些Linux的应用程序须要虚拟显存,而嵌入式系统中并没有或不须要虚拟显存,所以并非所有的Linux应用程序都可以在嵌入式系统中运行。
3.2PalmOS与WindowsCE的比较3Com公司的PalmOS是掌上笔记本市场中较为优秀的嵌入式操作系统,是针对这一市场专门设计的系统。它有开放的操作系统应用程序插口(API),支持开发商按照须要自行开发所需的应用程序,具有极其丰富的应用程序。在掌上笔记本市场上独占其霸主地位已久。从技术层面上讲,PalmOS是一套专门为掌上笔记本开发的操作系统,具有许多WindowsCE难以比拟的优势;WindowsCE过分臃肿,不适宜应用在廉价的掌上笔记本中。
PalmOS是一套具有极强开放性的系统。开发者向用户免费提供PalmOS的开发工具,容许用户借助该工具在PalmOS基础上便捷地编撰、修改相关软件。与之相比,WindowsCE的开发工具就变得复杂多了,这促使通常用户很难把握。这也PalmOS与WindowsCE的另一个主要区别。我们从常用EOS的大小、可开发订制、互操作性、通用性、实时性及应用领域几个方面linux作为嵌入式操作系统的优势,通过表1来归纳如下:表1PalmOSWindowsCE3.0嵌入Linu大小核心几十KB,整个嵌入环境也不大核心占500KB的ROM和250KB的RAM。整个WindowsCE操作系统,包括硬件具象层(HAL和HardwareAbstractionLayer)、WindoswCEKernel、User、GDI、文件系统和数据库,大概共1.5MB核心从几十KB到500KB。
整个嵌入式环境最小才100KB左右,而且之后还将越来越小可开发订制可以便捷地开发订制用户开发订制不便捷,受Microsoft公司限制较多用户可以便捷地开发订制,可以自由卸装用户模块,不受任何限制互操作性互操作性强互操作性比较强,WindowsC可通过OEM的许可合同使用于其它设备互操作性很强通用性适用于多种CPU和多种硬件平台适用于多种CPU和多种硬件平台除了适应于x86芯片,而且可以支持30多种CPU和多种硬件平台,开发和使用都很容易实用性比较好比较好挺好适用的应用领域应用领域较广,非常适用于掌上笔记本的开发应用领域较广。WindowsC是为新一代非传统的PC设备而设计的,这种设备包括掌上笔记本、手持笔记本以及用于车载笔记本等因为Linu内核结构及功能等诱因,嵌入式Linu应用领域十分广泛,非常易于进行信息电器的开发结语PalmOS、WindowsCE、Linux这三种嵌入式操作系统各有不同的特性,不同的用途;但Linux比PalmOS和WindowsCE更小、更稳定,并且Linux是开放的OS,在价钱上极具竞争力。现在整个市场仍未成形,嵌入式操作系统也未产生统一的国际标准,但是Linux的一系列特点又为我们开发国产的嵌入式操作系统提供了便捷,因而,我们有机会在这个未成熟的市场上占有一席之地。