选择Linux还是WinCE

最近打算在开发中引入嵌入式操作系统,转向arm9平台。可控选择的定位在linux和wince两项中。

对于选择确是痛苦,查了资料。说法不一,其实落到最后还得看自己的实际情况。

看下面的 一篇文章:

让我们逐条分析评价Linux和WinCE/Windows的优缺点。   

1.支持多种硬件平台   
由于嵌入式设备硬件平台的多样性,CPU芯片的快速更新,嵌入式操作系统要求支持常用的嵌入式CPU,如X86,   ARM,   MIPS,   POWERPC等,并具有良好的可移植性。另外还需要支持种类繁多的外部设备。Linux支持以上几乎所有的主流芯片,并且还在不断的被移植到新的芯片上。而在这方面,WinCE显然差得很远。   

2.占有较少的硬件资源   
由于多数嵌入式系统具有成本敏感性,处理器速度较低   ,存储器空间较少,这要求嵌入式OS体积小,速度快。Linux体系结构比较灵活,易于裁减,可以小到2M   flash,4M   RAM。而WinCE对资源的要求更高。   

3.高可定制性   
由于不同的嵌入式应用对系统要求各不相同,这要求嵌入式OS具备高可定制性,能够根据需要方便的增加和减少各项功能模块。这一点对于嵌入式领域至关重要,而Linux由于图形系统不在内核中,且支持模块机制,内核可根据需要加入或去掉功能。其外围工具拥有众多选择,更由于可以自由修改源代码,具有极强的可定制性。而WinCE/Windows根本无法做到这一点。   

4.具有实时处理能力   
实时应用分为硬实时和软实时两大类,嵌入式OS需要明确是否支持实时和支持哪一类实时应用,需要提供最坏情况响应时间为多长。Linux和WinCE/Windows最初设计时都没有考虑实时应用,但众多的实时Linux项目已使Linux具备了硬实时和软实时处理能力,硬实时有RT-Linux和RTAI,而2.6中加入了可抢占核心,使得Linux具备了软实时处理能力,此外还有Timsys和Montavista等实时Linux实现。Linux自由开发模式的优点得到了充分的体现。Windows虽然也有第三方提供类似于RT-linux的实时功能,但由于微软未提供这方面的支持,也由于Windows可靠性不能满足要求,很少有人在实时领域使用Windows。但RT-linux已经在美国航天部门,印度军方等得到了广泛应用。还有Montavista,Timsys的实时Linux都有很多成功案例。   

5.具备强大的网络功能   
现在,越来越多的嵌入式设备需要具备网络功能。这要求嵌入式OS支持常用的网络协议和可靠的网络功能。Linux的网络功能经过几次改进,其效率,功能都很突出。且具有众多的网络工具,支持几乎所有常见的网络协议。这些使得Linux在网络设备中倍受青睐,很多防火墙,低端路由器等中使用的都是Linux。而未闻WinCE/windows在这方面有什么应用。   

6.高安全性和高可靠性   
嵌入式设备往往对安全性和可靠性要求很高,这要求作为基础软件的嵌入式OS具有高安全性和高可靠性。如骨干网的路由器,交换机等。Linux的可靠性是经过实践检验的,并进一步向高端发展,冲击Vxworks,   Unix的市场。安全性方面Linux病毒极少,并拥有众多安全增强,有的安全增强Linux达到了B1级别(红旗RFSOS通过了国家GB17859第三级,等同于TCSEC   B1级)。而Windows病毒众多,漏洞不断,虽然微软大力宣传其通过了CC标准EAL4级,但是需要说明的是,EAL4仅仅说明Windows在多大程度上满足了它的安全目标,显然更为重要的是这个目标是什么,事实上,它通过的是CAPP的EAL4级,仍然相当于TCSEC   C2级,Win2000的可靠性比起98等来说有了明显提高,但尚不足以向高端冲击,其安全性问题也会大大影响它的可靠性,这二者是紧密联系的,不能孤立讨论。   

7.具有完善的嵌入式GUI和嵌入式浏览器   
面向用户的嵌入式终端设备如Smart   Phone等,都要求嵌入式OS具有功能完善,控件丰富的嵌入式GUI,并支持功能强大的嵌入式浏览器。在这方面WinCE有完善的解决方案,Linux也有QT/Embedded等GUI,Opera等嵌入式浏览器,拥有众多的选择。   

8.实现嵌入式日志文件系统,具备断电保护能力。   
这些功能Linux和Windows都能达到。   

9.能够提供完善的开发工具集。   
Linux下的开发工具众多,但不如Windows开发工具易用。不过Windows的开发工具不是为嵌入式领域设计的,功能也不完善。   

10.能够快速启动   
启动速度二者差不多,但很多嵌入式设备并不需要图形界面,且由于Linux有源代码,在硬件固定的情况下可以加速启动,这时Linux就比WinCE/Windows启动快多了。   
   
通过以上分析,可以很清楚地看到,总体比较而言,在嵌入式领域Linux比WinCE/Windows具有明显优势。正因为如此,嵌入式Linux比WinCE/Windows应用领域要广泛的多。WinCE的优势在于PC衍生产品,如Pocket PC,高端PDA等。但在其他众多的嵌入式领域中,WinCE就并不适合了。  

如果是为了学习,好玩,我选择linux。如果我周围有一个开发团队,我选择linux。

如果我是单枪匹马或是人员有限,能尽快地开发产品,我选择winCE。

在选择操作系统上,主要是看几个指标。最重要的最后落在了实时性的响应上。网上信息关于两者的实时性说法不一。

其实在最后的选择上总是根据自己的情况有一个标准。

1 实用
linux 大家捧得厉害,自由软件么。非商业,正因为非商业也注定不适合商业环境,没有专业的机构支持,那么就需要一个专业的队伍,至少有一个队伍来做。

wince 是微软的产品,收钱的。有专门的机构进行支持,专业的总比业余的发展的快。

2 自己的情况
不会linux,可以说每接触过,要从头学起,周围一起做的人可以说没有。

wince起码是window系统。

新鲜的东西,可以尝试,但要看情况,在选择的时候自己一直都是犹犹豫豫,网上咨询,打听熟人,其实别人又不了自己的情况,还得自己分析,要养成分析问题,勤于思考,敢于选择的习惯。没人能够替你作出选择。

转载点击打开链接

你可能感兴趣的:(Lua嵌入式脚本)