來自 http://blog.csdn.net/saintony/category/226987.aspx
計(jì)算機(jī)最大的市場是嵌入式設(shè)備。基本上,含有計(jì)算機(jī)但是外表并不象計(jì)算機(jī)的一切設(shè)備都可算嵌入式,包括網(wǎng)絡(luò)設(shè)備(如路由器),工控設(shè)備(如數(shù)控機(jī)床),汽車,信息家電, 移動(dòng)計(jì)算設(shè)備等各種設(shè)備。那么,在這個(gè)最大的市場中,Linux和Windows誰更有實(shí)用性呢?讓我們先分析一下嵌入式領(lǐng)域?qū)S的要求。
?
嵌入式領(lǐng)域與PC領(lǐng)域有很大的不同,嵌入式系統(tǒng)都是針對具體應(yīng)用的專用系統(tǒng),其軟硬件需要面向應(yīng)用來設(shè)計(jì),并且由于嵌入市系統(tǒng)領(lǐng)域極其廣泛,不同領(lǐng)域所采用的技術(shù)各不相同,所以長期以來,嵌入式領(lǐng)域一直沒有形成PC和Server領(lǐng)域的標(biāo)準(zhǔn)化和壟斷性,Intel,Microsoft都不是霸主,僅常用的CPU就有數(shù)十種之多,常見的有Arm,MIPS,PowerPC等系列芯片,嵌入式操作系統(tǒng)也有數(shù)十種,Vxworks,QNX,Symbian,PSOS,Linux,WinCE等等。
?
歸結(jié)起來,嵌入式設(shè)備有如下特點(diǎn):
1.成本敏感,資源有限多數(shù)嵌入式系統(tǒng)具有成本敏感性,它的硬件和軟件都必須高效率地設(shè)計(jì),量體裁衣、去除冗余。好的嵌入式系統(tǒng)是完成目標(biāo)功能的最小系統(tǒng),這樣的產(chǎn)品才更具有競爭力。所以,多數(shù)嵌入式系統(tǒng)中的硬件資源是很有限的,如處理器速度較低 ,存儲器空間較少等。這些都對嵌入式軟件系統(tǒng)提出了更高的要求。
2.多種硬件平臺嵌入式處理器眾多,常用的也有數(shù)十種,各自具有一定的優(yōu)缺點(diǎn)和適用范圍。這要求嵌入式操作系統(tǒng)支持多種的處理器。
3.低功耗對于使用電池的移動(dòng)計(jì)算設(shè)備來說,需要具備低功耗的特點(diǎn)。
4.安全性和可靠性高很多嵌入式應(yīng)用,如工業(yè)控制,航天和網(wǎng)絡(luò)設(shè)備都要求具有高安全性和高可靠性。有的要求在惡劣環(huán)境中,系統(tǒng)仍然能夠正常工作。
5.部分要求實(shí)時(shí)許多嵌入式應(yīng)用要求具有實(shí)時(shí)處理能力。如航天,工控等。
6.多數(shù)軟件固化存儲多數(shù)嵌入式設(shè)備軟件固化存儲在Rom或Flash中,較少使用磁盤。以提高其可靠性并減小體積。
?
以上都對嵌入式OS提出了獨(dú)特的要求,讓我們逐條分析評價(jià)Linux和WinCE/Windows的優(yōu)缺點(diǎn)。
1.支持多種硬件平臺由于嵌入式設(shè)備硬件平臺的多樣性,CPU芯片的快速更新,嵌入式操作系統(tǒng)要求支持常用的嵌入式CPU,如X86, ARM, MIPS, POWERPC等,并具有良好的可移植性。另外還需要支持種類繁多的外部設(shè)備。Linux支持以上幾乎所有的主流芯片,并且還在不斷的被移植到新的芯片上。而在這方面,WinCE顯然差得很遠(yuǎn)。
2.占有較少的硬件資源由于多數(shù)嵌入式系統(tǒng)具有成本敏感性,處理器速度較低 ,存儲器空間較少,這要求嵌入式OS體積小,速度快。Linux體系結(jié)構(gòu)比較靈活,易于裁減,可以小到2M flash,4M RAM。而WinCE對資源的要求更高。
3.高可定制性由于不同的嵌入式應(yīng)用對系統(tǒng)要求各不相同,這要求嵌入式OS具備高可定制性,能夠根據(jù)需要方便的增加和減少各項(xiàng)功能模塊。這一點(diǎn)對于嵌入式領(lǐng)域至關(guān)重要,而Linux由于圖形系統(tǒng)不在內(nèi)核中,且支持模塊機(jī)制,內(nèi)核可根據(jù)需要加入或去掉功能。其外圍工具擁有眾多選擇,更由于可以自由修改源代碼,具有極強(qiáng)的可定制性。而WinCE/Windows根本無法做到這一點(diǎn)。
4.具有實(shí)時(shí)處理能力實(shí)時(shí)應(yīng)用分為硬實(shí)時(shí)和軟實(shí)時(shí)兩大類,嵌入式OS需要明確是否支持實(shí)時(shí)和支持哪一類實(shí)時(shí)應(yīng)用,需要提供最壞情況響應(yīng)時(shí)間為多長。Linux和WinCE/Windows最初設(shè)計(jì)時(shí)都沒有考慮實(shí)時(shí)應(yīng)用,但眾多的實(shí)時(shí)Linux項(xiàng)目已使Linux具備了硬實(shí)時(shí)和軟實(shí)時(shí)處理能力,硬實(shí)時(shí)有RT-Linux和RTAI,而2.6中加入了可搶占核心,使得Linux具備了軟實(shí)時(shí)處理能力,此外還有Timsys和Montavista等實(shí)時(shí)Linux實(shí)現(xiàn)。Linux自由開發(fā)模式的優(yōu)點(diǎn)得到了充分的體現(xiàn)。Windows雖然也有第三方提供類似于RT-linux的實(shí)時(shí)功能,但由于微軟未提供這方面的支持,也由于Windows可靠性不能滿足要求,很少有人在實(shí)時(shí)領(lǐng)域使用Windows。但RT-linux已經(jīng)在美國航天部門,印度軍方等得到了廣泛應(yīng)用。還有Montavista,Timsys的實(shí)時(shí)Linux都有很多成功案例。
5.具備強(qiáng)大的網(wǎng)絡(luò)功能現(xiàn)在,越來越多的嵌入式設(shè)備需要具備網(wǎng)絡(luò)功能。這要求嵌入式OS支持常用的網(wǎng)絡(luò)協(xié)議和可靠的網(wǎng)絡(luò)功能。Linux的網(wǎng)絡(luò)功能經(jīng)過幾次改進(jìn),其效率,功能都很突出。且具有眾多的網(wǎng)絡(luò)工具,支持幾乎所有常見的網(wǎng)絡(luò)協(xié)議。這些使得Linux在網(wǎng)絡(luò)設(shè)備中倍受青睞,很多防火墻,低端路由器等中使用的都是Linux。而未聞WinCE/windows在這方面有什么應(yīng)用。
6.高安全性和高可靠性嵌入式設(shè)備往往對安全性和可靠性要求很高,這要求作為基礎(chǔ)軟件的嵌入式OS具有高安全性和高可靠性。如骨干網(wǎng)的路由器,交換機(jī)等。Linux的可靠性是經(jīng)過實(shí)踐檢驗(yàn)的,并進(jìn)一步向高端發(fā)展,沖擊Vxworks, Unix的市場。安全性方面Linux病毒極少,并擁有眾多安全增強(qiáng),有的安全增強(qiáng)Linux達(dá)到了B1級別(紅旗RFSOS通過了國家GB17859第三級,等同于TCSEC B1級)。而Windows病毒眾多,漏洞不斷,雖然微軟大力宣傳其通過了CC標(biāo)準(zhǔn)EAL4級,但是需要說明的是,EAL4僅僅說明Windows在多大程度上滿足了它的安全目標(biāo),顯然更為重要的是這個(gè)目標(biāo)是什么,事實(shí)上,它通過的是CAPP的EAL4級,仍然相當(dāng)于TCSEC C2級,Win2000的可靠性比起98等來說有了明顯提高,但尚不足以向高端沖擊,其安全性問題也會大大影響它的可靠性,這二者是緊密聯(lián)系的,不能孤立討論。
7.具有完善的嵌入式GUI和嵌入式瀏覽器面向用戶的嵌入式終端設(shè)備如Smart Phone等,都要求嵌入式OS具有功能完善,控件豐富的嵌入式GUI,并支持功能強(qiáng)大的嵌入式瀏覽器。在這方面WinCE有完善的解決方案,Linux也有QT/Embedded等GUI,Opera等嵌入式瀏覽器,擁有眾多的選擇。
8.實(shí)現(xiàn)嵌入式日志文件系統(tǒng),具備斷電保護(hù)能力。這些功能Linux和Windows都能達(dá)到。
9.能夠提供完善的開發(fā)工具集。Linux下的開發(fā)工具眾多,但不如Windows開發(fā)工具易用。不過Windows的開發(fā)工具不是為嵌入式領(lǐng)域設(shè)計(jì)的,功能也不完善。
10.能夠快速啟動(dòng)啟動(dòng)速度二者差不多,但很多嵌入式設(shè)備并不需要圖形界面,且由于Linux有源代碼,在硬件固定的情況下可以加速啟動(dòng),這時(shí)Linux就比WinCE/Windows啟動(dòng)快多了。
通過以上分析,可以很清楚地看到,總體比較而言,在嵌入式領(lǐng)域Linux比WinCE/Windows具有明顯優(yōu)勢。正因?yàn)槿绱耍度胧絃inux比WinCE/Windows應(yīng)用領(lǐng)域要廣泛的多。WinCE的優(yōu)勢在于PC衍生產(chǎn)品,如Pocket PC,高端PDA等。但在其他眾多的嵌入式領(lǐng)域中,WinCE就并不適合了。在嵌入式領(lǐng)域,Linux與WinCE/windows均為后發(fā),Windows不擁有在PC領(lǐng)域的壟斷優(yōu)勢,二者公平競爭,這時(shí)更能清楚地看出他們的實(shí)用性差別和發(fā)展?jié)摿ΑG度胧浇o了Linux一個(gè)自由廣闊的天地,充分體現(xiàn)出了Open Source的巨大優(yōu)勢,我們有理由相信:未來是Open的世界