-
1 # 小飛飛的小朋友
-
2 # 蔣營平涐品茗一季煙
嵌入式linux,目前應用在嵌入式領域的linux系統主要有兩類,一類是專為嵌入式設計的已被裁減過的linux系統,最常用的是uclinux(不帶mmu功能),目前佔較大應用份額,可在arm7上跑;另一類是跑在arm9上的,一般是將linux2.4.18核心移植在其上,可使用更多的linux功能。
wince,有兩個特殊版本,一個是mspocketpc*作系統專用於pda上(掌上電腦),另一個是mssmartphone*作系統用於智慧手機上(帶pda功能的手機),兩者也都屬於wince平臺。開發環境方便快速,微軟的強大技術支援,wince開發難度遠低於嵌入式linux。
計算機最大的市場是嵌入式裝置。基本上,含有計算機但是外表並不象計算機的一切裝置都可算嵌入式,包括網路裝置(如路由器),工控裝置(如數控機床),汽車,資訊家電,移動計算裝置等各種裝置。那麼,在這個最大的市場中,linux和windows誰更有實用性呢?讓我們先分析一下嵌入式領域對os的要求。
嵌入式領域與pc領域有很大的不同,嵌入式系統都是針對具體應用的專用系統,其軟硬體需要面向應用來設計,並且由於嵌入市系統領域極其廣泛,不同領域所採用的技術各不相同,所以長期以來,嵌入式領域一直沒有形成pc和server領域的標準化和壟斷性,intel、microsoft都不是霸主,僅常用的cpu就有數十種之多,常見的有arm、mips、powerpc等系列晶片,嵌入式*作系統也有數十種,vxworks、qnx、symbian、psos、linux、wince等等。歸結起來,嵌入式裝置有如下特點:
1.成本敏感,資源有限
多數嵌入式系統具有成本敏感性,它的硬體和軟體都必須高效率地設計,量體裁衣、去除冗餘。好的嵌入式系統是完成目標功能的最小系統,這樣的產品才更具有競爭力。所以,多數嵌入式系統中的硬體資源是很有限的,如處理器速度較低,儲存器空間較少等。這些都對嵌入式軟體系統提出了更高的要求。
2.多種硬體平臺
嵌入式處理器眾多,常用的也有數十種,各自具有一定的優缺點和適用範圍。這要求嵌入式*作系統支援多種的處理器。
3.低功耗
對於使用電池的移動計算裝置來說,需要具備低功耗的特點。
4.安全性和可*性高
很多嵌入式應用,如工業控制,航天和網路裝置都要求具有高安全性和高可*性。有的要求在惡劣環境中,系統仍然能夠正常工作。
5.部分要求實時
許多嵌入式應用要求具有實時處理能力。如航天,工控等。
6.多數軟體固化儲存
多數嵌入式裝置軟體固化儲存在rom或flash中,較少使用磁碟。以提高其可*性並減小體積。
以上都對嵌入式os提出了獨特的要求,讓我們逐條分析評價linux和wince/windows的優缺點。
1.支援多種硬體平臺
由於嵌入式裝置硬體平臺的多樣性,cpu晶片的快速更新,嵌入式*作系統要求支援常用的嵌入式cpu,如x86、arm、mips、powerpc等,並具有良好的可移植性。另外還需要支援種類繁多的外部裝置。linux支援以上幾乎所有的主流晶片,並且還在不斷的被移植到新的晶片上。而在這方面,wince顯然差得很遠。
2.佔有較少的硬體資源
由於多數嵌入式系統具有成本敏感性,處理器速度較低,儲存器空間較少,這要求嵌入式os體積小,速度快。linux體系結構比較靈活,易於裁減,可以小到2mflash、4mram。而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第三級,等同於tcsecb1級)。而windows病毒眾多,漏洞不斷,雖然微軟大力宣傳其通過了cc標準eal4級,但是需要說明的是,eal4僅僅說明windows在多大程度上滿足了它的安全目標,顯然更為重要的是這個目標是什麼,事實上,它透過的是capp的eal4級,仍然相當於tcsecc2級,win2000的可*性比起98等來說有了明顯提高,但尚不足以向高階衝擊,其安全性問題也會大大影響它的可*性,這二者是緊密聯絡的,不能孤立討論。
7.具有完善的嵌入式gui和嵌入式瀏覽器
面向使用者的嵌入式終端裝置如smartphone等,都要求嵌入式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衍生產品,如pocketpc、高階pda等。但在其他眾多的嵌入式領域中,wince就並不適合了。
在嵌入式領域,linux與wince/windows均為後發,windows不擁有在pc領域的壟斷優勢,二者公平競爭,這時更能清楚地看出他們的實用性差別和發展潛力。嵌入式給了linux一個自由廣闊的天地,充分體現出了opensource的巨大優勢,我們有理由相信:未來是open的世界!
回覆列表
linux是文字模式開源的作業系統,Windows是微軟的,效能上面差別也是很大的。
微軟因為研發周邊產品所以這些產品在Windows作業系統上面執行比Linux上面執行更為流暢。
但Linux上面執行的其他不屬於微軟研發的產品要比Windows要好很多。
所以它們的區別是在於你需要執行什麼樣的環境。但Linux上面執行的軟體效能要更好一些,因為它是開源的,可以直接檢視到問題出錯在那步,微軟系統就很難檢視到。
還有就是因為Linux系統操作更多的是文字模式,操作任何指令都需要輸入相應的命令,所以導致很多人不會使用,而Windows就反過來了,它的使用方向是大多數人都能簡單易操作的。
個人感覺Linux要好點。