embedded linux是指嵌入式Linux,而嵌入式Linux就是指對標準Linux經過小型化裁剪處理之後,能夠固化在容量只有幾K或者幾M位元組的記憶體晶片或者微控制器中,適合於特定嵌入式應用場合的專用Linux作業系統。
本教學操作環境:linux7.3系統、Dell G3電腦。
embedded linux是什麼?
指嵌入式Linux。
一、嵌入式Linux(Embedded Linux)是指對標準Linux經過小型化裁剪處理之後,能夠固化在容量只有幾K或者幾M位元組的記憶體晶片或者微控制器中,適合於特定嵌入式應用場合的專用Linux作業系統。
二、嵌入式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等商業嵌入式作業系統相比還有很大差距,整體整合式開發環境有待提高和完善。
相關推薦:《》
以上就是embedded linux是什麼的詳細內容,更多請關注TW511.COM其它相關文章!