一、什么是嵌入式linux?
Linux從1991年問世到現(xiàn)在,短短的十幾年時間已經(jīng)發(fā)展成為功能強大、設(shè)計完善的操作系統(tǒng)之一,不僅可以與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗?fàn)?,在新興的嵌入式操作系統(tǒng)領(lǐng)域內(nèi)也獲得了飛速發(fā)展。嵌入式Linux(EmbeddedLinux)是指對標(biāo)準(zhǔn)Linux經(jīng)過小型化裁剪處理之后,能夠固化在容量只有幾K或者幾M字節(jié)的存儲器芯片或者單片機中,適合于特定嵌入式應(yīng)用場合的專用Linux操作系統(tǒng)。嵌入式Linux既繼承了intelnet上無限的開放原代碼資源,又具有嵌入式操作系統(tǒng)的特性。
二、嵌入式Linux的特點
版權(quán)費:免費;
購買費用:媒介成本;
技術(shù)支持:全世界的自由軟件開發(fā)者提供支持;
網(wǎng)絡(luò)特性:免費而且性能優(yōu)異;
軟件移植:容易,代碼開放,有許多應(yīng)用軟件支持;
應(yīng)用產(chǎn)品開發(fā)周期:短,新產(chǎn)品上市迅速,因為有許多公開的代碼可以參考和移植;
實時性能:RT_Linux,hardhat Linux 等嵌入式Linux支持實時性能;
穩(wěn)定性:好;
安全性:好。
三、嵌入式Linux的市場前景和商業(yè)機會
嵌入式Linux有巨大的市場前景和商業(yè)機會,出現(xiàn)了大量的專業(yè)公司和產(chǎn)品,如Montavista、Lineo、Emi等。有行業(yè)協(xié)會,如Embedded Linux Consortum等。得到世界著名計算機公司和oem板級廠商的支持,例如IBM、Motorola、Intel等。傳統(tǒng)的嵌入式系統(tǒng)廠商也采用了Linux策略 如Lynxworks、Windriver、QNX等。還有intelnet上的大量嵌入式Linux愛好者的支持。嵌入式Linux支持幾乎所有的嵌入式cpu和被移植到幾乎所有的嵌入式oem板。
四、嵌入式Linux的應(yīng)用領(lǐng)域
嵌入式Linux的應(yīng)用領(lǐng)域非常廣泛,主要的應(yīng)用領(lǐng)域有,信息家電:PDA,STB-Set-stopbox,DigitalTelephone,Answering Machine,Screen Phone、數(shù)據(jù)網(wǎng)絡(luò):Ethernetswitches,Router,Bridge,Hub,Remote access servers,ATM,F(xiàn)ramerelay、遠程通信、醫(yī)療電子、交通運輸、計算機外設(shè)、工業(yè)控制、航空領(lǐng)域等。
五、嵌入式linux的優(yōu)勢
嵌入式Linux的開發(fā)和研究是操作系統(tǒng)領(lǐng)域中的一個熱點,目前已經(jīng)開發(fā)成功的嵌入式系統(tǒng)中,大約有一半使用的是Linux。Linux之所以能在嵌入式系統(tǒng)市場上取得如此輝煌的成果,與其自身的優(yōu)良特性是分不開的。
1、廣泛的硬件支持
Linux能夠支持x86、ARM、MIPS、ALPHA、PowerPC等多種體系結(jié)構(gòu),目前已經(jīng)成功移植到數(shù)十種硬件平臺,幾乎能夠運行在所有流行的CPU上。Linux有著異常豐富的驅(qū)動程序資源,支持各種主流硬件設(shè)備和最新硬件技術(shù),甚至可以在沒有存儲管理單元(MMU)的處理器上運行,這些都進一步促進了Linux在嵌入式系統(tǒng)中的應(yīng)用。
2、內(nèi)核高效穩(wěn)定
Linux內(nèi)核的高效和穩(wěn)定已經(jīng)在各個領(lǐng)域內(nèi)得到了大量事實的驗證,Linux的內(nèi)核設(shè)計非常精巧,分成進程調(diào)度、內(nèi)存管理、進程間通信、虛擬文件系統(tǒng)和網(wǎng)絡(luò)接口五大部分,其獨特的模塊機制可以根據(jù)用戶的需要,實時地將某些模塊插入到內(nèi)核或從內(nèi)核中移走。這些特性使得Linux系統(tǒng)內(nèi)核可以裁剪得非常小巧,很適合于嵌入式系統(tǒng)的需要。
3、開放源碼,軟件豐富
Linux是開放源代碼的自由操作系統(tǒng),它為用戶提供了最大限度的自由度,由于嵌入式系統(tǒng)千差萬別,往往需要針對具體的應(yīng)用進行修改和優(yōu)化,因而獲得源代碼就變得至關(guān)重要了。Linux的軟件資源十分豐富,每一種通用程序在Linux上幾乎都可以找到,并且數(shù)量還在不斷增加。在Linux上開發(fā)嵌入式應(yīng)用軟件一般不用從頭做起,而是可以選擇一個類似的自由軟件做為原型,在其上進行二次開發(fā)。
4、優(yōu)秀的開發(fā)工具
開發(fā)嵌入式系統(tǒng)的關(guān)鍵是需要有一套完善的開發(fā)和調(diào)試工具。傳統(tǒng)的嵌入式開發(fā)調(diào)試工具是在線仿真器(In-CircuitEmulator,ICE),它通過取代目標(biāo)板的微處理器,給目標(biāo)程序提供一個完整的仿真環(huán)境,從而使開發(fā)者能夠非常清楚地了解到程序在目標(biāo)板上的工作狀態(tài),便于監(jiān)視和調(diào)試程序。在線仿真器的價格非常昂貴,而且只適合做非常底層的調(diào)試,如果使用的是嵌入式Linux,一旦軟硬件能夠支持正常的串口功能時,即使不用在線仿真器也可以很好地進行開發(fā)和調(diào)試工作,從而節(jié)省了一筆不小的開發(fā)費用。嵌入式Linux為開發(fā)者提供了一套完整的工具鏈(ToolChain),它利用GNU的gcc做編譯器,用gdb、kgdb、xgdb做調(diào)試工具,能夠很方便地實現(xiàn)從操作系統(tǒng)到應(yīng)用軟件各個級別的調(diào)試。
5、完善的網(wǎng)絡(luò)通信和文件管理機制
Linux至誕生之日起就與Internet密不可分,支持所有標(biāo)準(zhǔn)的Internet網(wǎng)絡(luò)協(xié)議,并且很容易移植到嵌入式系統(tǒng)當(dāng)中。此外,Linux還支持ext2、fat16、fat32、romfs等文件系統(tǒng),這些都為開發(fā)嵌入式系統(tǒng)應(yīng)用打下了很好的基礎(chǔ)。
六、嵌入式Linux的挑戰(zhàn)
目前,嵌入式Linux系統(tǒng)的研發(fā)熱潮正在蓬勃興起,并且占據(jù)了很大的市場份額,除了一些傳統(tǒng)的Linux公司(如RedHat、MontaVista等)正在從事嵌入式Linux的開發(fā)和應(yīng)用之外,IBM、Intel、Motorola等著名企業(yè)也開始進行嵌入式Linux的研究。雖然前景一片燦爛,但就目前而言,嵌入式Linux的研究成果與市場的真正要求仍有一段差距,要開發(fā)出真正成熟的嵌入式Linux系統(tǒng),還需要從以下幾個方面做出努力。
1、提高系統(tǒng)實時性
Linux雖然已經(jīng)被成功地應(yīng)用到了PDA、移動電話、車載電視、機頂盒、網(wǎng)絡(luò)微波爐等各種嵌入式設(shè)備上,但在醫(yī)療、航空、交通、工業(yè)控制等對實時性要求非常嚴(yán)格的場合中還無法直接應(yīng)用,原因在于現(xiàn)有的Linux是一個通用的操作系統(tǒng),雖然它也采用了許多技術(shù)來加快系統(tǒng)的運行和響應(yīng)速度,并且符合POSIX1003.1b標(biāo)準(zhǔn),但從本質(zhì)上來說并不是一個嵌入式實時操作系統(tǒng)。Linux的內(nèi)核調(diào)度策略基本上是沿用UNIX系統(tǒng)的,將它直接應(yīng)用于嵌入式實時環(huán)境會有許多缺陷,如在運行內(nèi)核線程時中斷被關(guān)閉,分時調(diào)度策略存在時間上的不確定性,以及缺乏高精度的計時器等等。正因如此,利用Linux作為底層操作系統(tǒng),在其上進行實時化改造,從而構(gòu)建出一個具有實時處理能力的嵌入式系統(tǒng),是現(xiàn)在日益流行的解決方案。
2、改善內(nèi)核結(jié)構(gòu)
Linux內(nèi)核采用的是整體式結(jié)構(gòu)(Monolithic),整個內(nèi)核是一個單獨的、非常大的程序,這樣雖然能夠使系統(tǒng)的各個部分直接溝通,有效地縮短任務(wù)之間的切換時間,提高系統(tǒng)響應(yīng)速度,但與嵌入式系統(tǒng)存儲容量小、資源有限的特點不相符合。嵌入式系統(tǒng)經(jīng)常采用的是另一種稱為微內(nèi)核(Microkernel)的體系結(jié)構(gòu),即內(nèi)核本身只提供一些最基本的操作系統(tǒng)功能,如任務(wù)調(diào)度、內(nèi)存管理、中斷處理等,而類似于文件系統(tǒng)和網(wǎng)絡(luò)協(xié)議等附加功能則運行在用戶空間中,并且可以根據(jù)實際需要進行取舍。Microkernel的執(zhí)行效率雖然比不上Monolithic,但卻大大減小了內(nèi)核的體積,便于維護和移植,更能滿足嵌入式系統(tǒng)的要求??梢钥紤]將Linux內(nèi)核部分改造成Microkernel,使Linux在具有很高性能的同時,又能滿足嵌入式系統(tǒng)體積小的要求。
3、完善集成開發(fā)平臺
引入嵌入式Linux系統(tǒng)集成開發(fā)平臺,是嵌入式Linux進一步發(fā)展和應(yīng)用的內(nèi)在要求。傳統(tǒng)上的嵌入式系統(tǒng)都是面向具體應(yīng)用場合的,軟件和硬件之間必須緊密配合,但隨著嵌入式系統(tǒng)規(guī)模的不斷擴大和應(yīng)用領(lǐng)域的不斷擴展,嵌入式操作系統(tǒng)的出現(xiàn)就成了一種必然,因為只有這樣才能促成嵌入式系統(tǒng)朝層次化和模塊化的方向發(fā)展。很顯然,嵌入式集成開發(fā)平臺也是符合上述發(fā)展趨勢的,一個優(yōu)秀的嵌入式集成開發(fā)環(huán)境能夠提供比較完備的仿真功能,可以實現(xiàn)嵌入式應(yīng)用軟件和嵌入式硬件的同步開發(fā),從而擺脫了"嵌入式應(yīng)用軟件的開發(fā)依賴于嵌入式硬件的開發(fā),并且以嵌入式硬件的開發(fā)為前提"的不利局面。一個完整的嵌入式集成開發(fā)平臺通常包括編譯器、連接器、調(diào)試器、跟蹤器、優(yōu)化器和集成用戶界面,目前Linux在基于圖形界面的特定系統(tǒng)定制平臺的研究上,與WindowsCE等商業(yè)嵌入式操作系統(tǒng)相比還有很大差距,整體集成開發(fā)環(huán)境有待提高和完善。
聯(lián)系客服