1.4.2三种嵌入式操作系统的比较
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芯片,还是一个跨平台的系统。到目前为止,它可以支持30~40种CPU,很多CPU(包括家电业的芯片)厂商都开始做Linux的平台移植工作,而且移植的速度远远超过Java的开发环境。如果今天采用Linux环境开发产品,那么将来更换CPU时就不会遇到更换平台的困扰。第六,Linux内核的结构在网络方面是非常完整的,它提供了对包括十兆位、百兆位及千兆位的以太网络,还有无线网络、Token ring(令牌环)和光纤甚至卫星的支持。第七,Linux在内核结构的设计中考虑适应系统的可裁减性的要求,Windows CE在内核结构的设计中并未考虑适应系统的高度可裁减性的要求。
嵌入式Linux OS与Windows CE相比的弱点:第一,是开发难度较高,需要很高的技术实力;第二,是核心调试工具不全,调试不太方便,尚没有很好的用户图形界面;第三,与某些商业OS一样,嵌入式Linux占用较大的内存,当然,人们可以去掉部分无用的功能来减小使用的内存,但是如果不仔细,将引起新的问题;第四,有些Linux的应用程序需要虚拟内存,而嵌入式系统中并没有或不需要虚拟内存,所以并非所有的Linux应用程序都可以在嵌入式系统中运行。
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 | 嵌入Linu | |
大小 | 核心几十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的一系列特征又为我们开发国产的嵌入式操作系统提供了方便,因此,我们有机会在这个未成熟的市场上占有一席之地。
1.5 选择Linux构造嵌入式系统
Linux从1991年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操作系统之一,不仅可以与各种传统的商业操作系统分庭抗争,在新兴的嵌入式操作系统领域内也获得了飞速发展。
嵌入式Linux的开发和研究是操作系统领域中的一个热点,目前已经开发成功的嵌入式系统中,大约有一半使用的是Linux。Linux之所以能在嵌入式系统市场上取得如此辉煌的成果,与其自身的优良特性是分不开的。
一、广泛的硬件支持。Linux能够支持x86、ARM、MIPS、ALPHA、PowerPC等多种体系结构,目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的CPU上。Linux有着异常丰富的驱动程序资源,支持各种主流硬件设备和最新硬件技术,甚至可以在没有存储管理单元(MMU)的处理器上运行,这些都进一步促进了Linux在嵌入式系统中的应用。
二、内核高效稳定。Linux内核的高效和稳定已经在各个领域内得到了大量事实的验证,Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分,其独特的模块机制可以根据用户的需要,实时地将某些模块插入到内核或从内核中移走。这些特性使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。
三、开放源码,软件丰富。Linux是开放源代码的自由操作系统,它为用户提供了最大限度的自由度,由于嵌入式系统千差万别,往往需要针对具体的应用进行修改和优化,因而获得源代码就变得至关重要了。Linux的软件资源十分丰富,每一种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。在Linux上开发嵌入式应用软件一般不用从头做起,而是可以选择一个类似的自由软件做为原型,在其上进行二次开发。
四、优秀的开发工具。开发嵌入式系统的关键是需要有一套完善的开发和调试工具。传统的嵌入式开发调试工具是在线仿真器(In-Circuit Emulator,ICE),它通过取代目标板的微处理器,给目标程序提供一个完整的仿真环境,从而使开发者能够非常清楚地了解到程序在目标板上的工作状态,便于监视和调试程序。在线仿真器的价格非常昂贵,而且只适合做非常底层的调试,如果使用的是嵌入式Linux,一旦软硬件能够支持正常的串口功能时,即使不用在线仿真器也可以很好地进行开发和调试工作,从而节省了一笔不小的开发费用。嵌入式Linux为开发者提供了一套完整的工具链(Tool Chain),它利用GNU的gcc做编译器,用gdb、kgdb、xgdb做调试工具,能够很方便地实现从操作系统到应用软件各个级别的调试。
五、完善的网络通信和文件管理机制。Linux至诞生之日起就与Internet密不可分,支持所有标准的Internet网络协议,并且很容易移植到嵌入式系统当中。此外,Linux还支持ext2、fat16、fat32、romfs等文件系统,这些都为开发嵌入式系统应用打下了很好的基础。
一个基本的嵌入式Linux系统应包括:
一、引导程序。能实现系统的快速引导,提供瞬间开机功能。负责将Linux内核加载到内存,并将控制权交给内核初始化程序。具体工作包括:寻找或将指定的内核映像解压,解压文件系统。
二、Linux内核。Linux是一个单一内核操作系统,但可以动态装入和卸载内核中的部分源代码,这与传统的单一内核操作系统全部静态编译内核代码是不同的。Linux内核由内存管理、进程管理、定时器中断管理、模块管理、虚拟文件系统、接口文件系统、设备驱动程序、进程间通信、网络管理、系统启动等构成。
三、初始化进程。系统在刚刚启动时,运行于内核方式,这时候只有一个初始化进程在运行,他首先做系统的初始化,然后执行初始化程序(一般是/sbin/init)。初始化进程是系统的第一个进程,以后所有的进程都是初始化进程的子进程。
四、硬件驱动程序。设备驱动程序是内核的一部分,它像内核中其它代码一样运行在内核模式。驱动程序如果出错将会使操作系统受到严重破坏,甚至能使系统崩溃并导致文件系统的破坏和数据丢失。Linux设备驱动程序的主要功能有:对设备进行初始化;使设备投入运行和退出服务;从设备接收数据并将它们送回内核;将数据从内核送到设备;检测和处理设备出现的错误。
五、提供所需功能的一个或更多应用程序。
1.6 Linux在国内嵌入式领域的发展前景
Linux发展到今天已经整整十年了,它带给中国的不仅仅是一个操作系统,更是我国软件业大踏步迈进的大好契机。通过十年磨练,Linux已在全球范围内拥有了众多爱好者和开发者,并成长为具有内核健壮、运行高效、源码开放等技术优势的操作系统。另外,Linux是免费的操作系统,在价格上极具竞争力,适合中国的国情。Linux的另一个技术优势就是它采用了可移植的UNIX标准应用程序接口,不光支持x86芯片,到目前为止,它可以支持二、三十种CPU,包括68k、powerPC、ARM等,许多芯片面向Linux的平台移植工作都是简单而快速的。同时,Linux内核的结构在网络方面非常完整,提供了包括十兆、百兆、千兆的以太网络,以及无线网络、令牌环、光纤甚至卫星的支持,所以Linux完全适合于信息家电的开发。
一、 格局:百家争鸣
目前国内的Linux嵌入式操作系统厂商队伍正在逐渐扩大,已形成百家争鸣的局面,在市场上主要有红旗嵌入式Linux、博利思推出的POCKET IX、蓝点的嵌入式Linux系统、网虍科技推出的COVENTIVE和共创软件联盟推出的CC-Linux。它们所具备的共同特点是:精简的内核,适用于不同的CPU,X86,StrongARM,ARM,MIPS,POWER PC等;提供完善的嵌入式GUI和嵌入式X-windows;提供嵌入式浏览器,邮件程序,mp3播放器,mpeg播放器,记事本等应用程序;提供完整的开发工具和SDK,同时提供PC上的开发版本;用户可定制,提供图形化的定制和配置工具;常用嵌入式芯片的驱动集;提供实时版本;完善的中文支持等。
二、机遇:千载难逢
在桌面操作系统市场,微软已凭借Windows建立了霸主地位,我们感觉不到竞争的气氛,而嵌入式操作系统市场还是一个全新的领域,国内外厂商基本处在同一条起跑线上。国家信息产业部曾开办Linux战略研讨会,讨论如何将Linux这种价格低廉功能强大的工具推广到全国的应用市场。在政策与民意的倾斜上,我们都会更青睐于Linux。
作为嵌入式软件的核心和龙头,嵌入式操作系统必须具有自己的产品优势才能获取长远的生命力,而Linux所具备的优点为国内嵌入式市场的发展提供了千载难逢的机会:用户和硬件厂商无须交纳巨额运行时间版权费用;Linux是开源软件,受GUN的GPL公约保护,源代码可以随意拷贝、散发和使用;Linux具有体积小巧的特点和丰富的应用程序接口;Linux的内核是可配置的;Linux具有优秀的扩展性;Linux网络功能表现非常出色;拥有应有尽有的驱动程序。
三、前景:万象更新
今天,几乎所有的硬件控制均可通过软件来实现,嵌入式操作系统的安全性将至关重要。Linux的源代码开放,使其不存在黑箱技术,会给国人带来更安全的应用。在世界范围内,四大产业巨头IBM、HP、Intel和NEC共同组建了规模庞大、技术先进的“开源软件开发实验室”,以期对Linux进行支持和援助,这表明全球IT业都在关注Linux的发展,表明地位还很弱小的Linux正在变得壮大。
我国的市场也将为Linux的发展铺平道路。国内目前有3亿多台彩电、4000多万台VCD、2000多万台学习机、7000多万部寻呼机和4000万部手机电话、迅速发展的掌上电脑以及数千万辆汽车,它们都是潜在的信息电器和嵌入式操作系统的应用平台。同时,Internet发展如此迅速,中国Internet用户已超过2000万。面对如此之大的电子产品市场和潜在的用户群,以Linux为主的嵌入式操作系统面临的是前景光明的春天。
当然,Linux嵌入式操作系统本身也有一定的弱点,就是开发难度过高,需要很高的技术实力。这要求Linux系统厂商们不光要利用Linux,更要掌握Linux,毕竟我国的信息产业刚刚开始,我们脚下要走的路还很漫长。