什麼是嵌入式Linux?

一、什麼是嵌入式linux?

Linux從1991年問世到現在,短短的十幾年時間已經發展成爲功能強大、設計完善的操作系統之一,不僅可以與各種傳統的商業操作系統分庭抗爭,在新興的嵌入式操作系統領域內也獲得了飛速發展。嵌入式Linux(Embedded Linux)是指對標準Linux經過小型化裁剪處理之後,能夠固化在容量只有幾K或者幾M字節的存儲器芯片或者單片機中,適合於特定嵌入式應用場合的專用Linux操作系統。嵌入式Linux既繼承了intelnet上無限的開放原代碼資源,又具有嵌入式操作系統的特性。

二、嵌入式Linux的特點

版權費:免費;

購買費用:媒介成本;

技術支持:全世界的自由軟件開發者提供支持;

網絡特性:免費而且性能優異;

軟件移植:容易,代碼開放,有許多應用軟件支持;

應用產品開發週期:短,新產品上市迅速,因爲有許多公開的代碼可以參考和移植;

實時性能:RT_Linux,hardhat Linux 等嵌入式Linux支持實時性能;

穩定性:好;

安全性:好。

三、嵌入式Linux的市場前景和商業機會

嵌入式Linux有巨大的市場前景和商業機會,出現了大量的專業公司和產品,如Montavista、Lineo、Emi等。有行業協會,如Embedded Linux Consortum等。得到世界著名計算機公司和oem板級廠商的支持,例如IBM、Motorola、Intel等 。傳統的嵌入式系統廠商也採用了Linux策略 如Lynxworks 、Windriver、QNX等。還有intelnet上的大量嵌入式Linux愛好者的支持。嵌入式Linux支持幾乎所有的嵌入式cpu和被移植到幾乎所有的嵌入式oem板。

四、嵌入式Linux的應用領域

嵌入式Linux的應用領域非常廣泛,主要的應用領域有,信息家電:PDA,STB-Set-stopbox,Digital Telephone,Answering Machine,Screen Phone、數據網絡:Ethernet switches,Router,Bridge,Hub,Remote access servers,ATM,Frame relay、遠程通信、醫療電子、交通運輸、計算機外設、工業控制、航空領域等。

五、嵌入式linux的優勢

嵌入式Linux的開發和研究是操作系統領域中的一個熱點,目前已經開發成功的嵌入式系統中,大約有一半使用的是Linux。Linux之所以能在嵌入式系統市場上取得如此輝煌的成果,與其自身的優良特性是分不開的。

1、廣泛的硬件支持

Linux能夠支持x86、ARM、MIPS、ALPHA、PowerPC等多種體系結構,目前已經成功移植到數十種硬件平臺,幾乎能夠運行在所有流行的CPU上。Linux有着異常豐富的驅動程序資源,支持各種主流硬件設備和最新硬件技術,甚至可以在沒有存儲管理單元(MMU)的處理器上運行,這些都進一步促進了Linux在嵌入式系統中的應用。

2、內核高效穩定

Linux內核的高效和穩定已經在各個領域內得到了大量事實的驗證,Linux的內核設計非常精巧,分成進程調度、內存管理、進程間通信、虛擬文件系統和網絡接口五大部分,其獨特的模塊機制可以根據用戶的需要,實時地將某些模塊插入到內核或從內核中移走。這些特性使得Linux系統內核可以裁剪得非常小巧,很適合於嵌入式系統的需要。

3、開放源碼,軟件豐富

Linux是開放源代碼的自由操作系統,它爲用戶提供了最大限度的自由度,由於嵌入式系統千差萬別,往往需要針對具體的應用進行修改和優化,因而獲得源代碼就變得至關重要了。Linux的軟件資源十分豐富,每一種通用程序在Linux上幾乎都可以找到,並且數量還在不斷增加。在Linux上開發嵌入式應用軟件一般不用從頭做起,而是可以選擇一個類似的自由軟件做爲原型,在其上進行二次開發。

4、優秀的開發工具

開發嵌入式系統的關鍵是需要有一套完善的開發和調試工具。傳統的嵌入式開發調試工具是在線仿真器(In-Circuit Emulator,ICE),它通過取代目標板的微處理器,給目標程序提供一個完整的仿真環境,從而使開發者能夠非常清楚地瞭解到程序在目標板上的工作狀態,便於監視和調試程序。在線仿真器的價格非常昂貴,而且只適合做非常底層的調試,如果使用的是嵌入式Linux,一旦軟硬件能夠支持正常的串口功能時,即使不用在線仿真器也可以很好地進行開發和調試工作,從而節省了一筆不小的開發費用。嵌入式Linux爲開發者提供了一套完整的工具鏈(Tool Chain),它利用GNU的gcc做編譯器,用gdb、kgdb、xgdb做調試工具,能夠很方便地實現從操作系統到應用軟件各個級別的調試。

5、完善的網絡通信和文件管理機制

Linux至誕生之日起就與Internet密不可分,支持所有標準的Internet網絡協議,並且很容易移植到嵌入式系統當中。此外,Linux還支持ext2、fat16、fat32、romfs等文件系統,這些都爲開發嵌入式系統應用打下了很好的基礎。

六、嵌入式Linux的挑戰

目前,嵌入式Linux系統的研發熱潮正在蓬勃興起,並且佔據了很大的市場份額,除了一些傳統的Linux公司(如RedHat、MontaVista等)正在從事嵌入式Linux的開發和應用之外,IBM、Intel、Motorola等著名企業也開始進行嵌入式Linux的研究。雖然前景一片燦爛,但就目前而言,嵌入式Linux的研究成果與市場的真正要求仍有一段差距,要開發出真正成熟的嵌入式Linux系統,還需要從以下幾個方面做出努力。

1、提高系統實時性

Linux雖然已經被成功地應用到了PDA、移動電話、車載電視、機頂盒、網絡微波爐等各種嵌入式設備上,但在醫療、航空、交通、工業控制等對實時性要求非常嚴格的場合中還無法直接應用,原因在於現有的Linux是一個通用的操作系統,雖然它也採用了許多技術來加快系統的運行和響應速度,並且符合POSIX 1003.1b標準,但從本質上來說並不是一個嵌入式實時操作系統。Linux的內核調度策略基本上是沿用UNIX系統的,將它直接應用於嵌入式實時環境會有許多缺陷,如在運行內核線程時中斷被關閉,分時調度策略存在時間上的不確定性,以及缺乏高精度的計時器等等。正因如此,利用Linux作爲底層操作系統,在其上進行實時化改造,從而構建出一個具有實時處理能力的嵌入式系統,是現在日益流行的解決方案。

2、改善內核結構

Linux內核採用的是整體式結構(Monolithic),整個內核是一個單獨的、非常大的程序,這樣雖然能夠使系統的各個部分直接溝通,有效地縮短任務之間的切換時間,提高系統響應速度,但與嵌入式系統存儲容量小、資源有限的特點不相符合。嵌入式系統經常採用的是另一種稱爲微內核(Microkernel)的體系結構,即內核本身只提供一些最基本的操作系統功能,如任務調度、內存管理、中斷處理等,而類似於文件系統和網絡協議等附加功能則運行在用戶空間中,並且可以根據實際需要進行取捨。Microkernel的執行效率雖然比不上Monolithic,但卻大大減小了內核的體積,便於維護和移植,更能滿足嵌入式系統的要求。可以考慮將Linux內核部分改造成Microkernel,使Linux在具有很高性能的同時,又能滿足嵌入式系統體積小的要求。

3、完善集成開發平臺

引入嵌入式Linux系統集成開發平臺,是嵌入式Linux進一步發展和應用的內在要求。傳統上的嵌入式系統都是面向具體應用場合的,軟件和硬件之間必須緊密配合,但隨着嵌入式系統規模的不斷擴大和應用領域的不斷擴展,嵌入式操作系統的出現就成了一種必然,因爲只有這樣才能促成嵌入式系統朝層次化和模塊化的方向發展。很顯然,嵌入式集成開發平臺也是符合上述發展趨勢的,一個優秀的嵌入式集成開發環境能夠提供比較完備的仿真功能,可以實現嵌入式應用軟件和嵌入式硬件的同步開發,從而擺脫了"嵌入式應用軟件的開發依賴於嵌入式硬件的開發,並且以嵌入式硬件的開發爲前提"的不利局面。一個完整的嵌入式集成開發平臺通常包括編譯器、連接器、調試器、跟蹤器、優化器和集成用戶界面,目前Linux在基於圖形界面的特定系統定製平臺的研究上,與Windows CE等商業嵌入式操作系統相比還有很大差距,整體集成開發環境有待提高和完善。


//信息來源: http://www.embedu.org/linux/linux02.htm, 華清遠見

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章