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