姓名:謝恩龍? ? ? ?學(xué)號(hào):19020100029? ?學(xué)院:電子工程學(xué)院
轉(zhuǎn)自:https://blog.csdn.net/andyxie407/article/details/1629740
【嵌牛導(dǎo)讀】嵌入式Linux系統(tǒng)及其應(yīng)用前景
【嵌牛鼻子】嵌入式Linux 操作系統(tǒng) 應(yīng)用前景
【嵌牛提問】什么是嵌入式系統(tǒng)似舵?
【嵌牛正文】
? ? 近年來备图,隨著計(jì)算技術(shù)、通信技術(shù)的飛速發(fā)展髓窜,特別是互聯(lián)網(wǎng)的迅速普及和3C(計(jì)算機(jī)征讲、通信据某、消費(fèi)電子)合一的加速,微型化和專業(yè)化成為發(fā)展的新趨勢诗箍, 嵌入式產(chǎn)品成為信息產(chǎn)業(yè)的主流哗脖。Linux從1991年問世到現(xiàn)在,短短的十幾年時(shí)間已經(jīng)發(fā)展成為功能強(qiáng)大扳还、設(shè)計(jì)完善的操作系統(tǒng)之一才避;可運(yùn)行在X86、Alpha氨距、Sparc桑逝、MIPS、PPC俏让、Motorola楞遏、NEC、ARM等多種硬件平臺(tái)首昔,而且開放源代碼寡喝,可以定制;可與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗?fàn)幚掌妗T絹碓蕉嗟钠髽I(yè)和研發(fā)機(jī)構(gòu)都轉(zhuǎn)向嵌入式Linux的開發(fā)和研究上预鬓,在新興的嵌入式操作系統(tǒng)領(lǐng)域內(nèi)也獲得了飛速發(fā)展。
一赊颠、嵌入式Linux的特點(diǎn)
嵌入式系統(tǒng)是以應(yīng)用為中心格二,以計(jì)算機(jī)為基礎(chǔ),軟硬件可裁剪竣蹦,適用于系統(tǒng)對功能顶猜、可靠性、成本痘括、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)长窄,系統(tǒng)結(jié)構(gòu)見圖1滔吠。實(shí)時(shí)性是嵌入式系統(tǒng)的基本要求,其次挠日,還要求代碼小疮绷,速度快,可靠性高肆资。嵌入式Linux(Embedded Linux)是指對Linux經(jīng)過裁剪小型化后矗愧,可固化在存儲(chǔ)器或單片機(jī)中灶芝,應(yīng)用于特定嵌入式場合的專用Linux操作系統(tǒng)郑原。嵌入式Linux的開發(fā)和研究已經(jīng)成為目前操作系統(tǒng)領(lǐng)域的一個(gè)熱點(diǎn)。與其它嵌入式操作系統(tǒng)相比(詳見表1)夜涕,Linux的特點(diǎn)如下犯犁。
第一,Linux系統(tǒng)是層次結(jié)構(gòu)且內(nèi)核完全開放女器。
第二酸役,強(qiáng)大的網(wǎng)絡(luò)支持功能。
第三驾胆,Linux具備一整套工具鏈涣澡,容易自行建立嵌入式系統(tǒng)的開發(fā)環(huán)境和交叉運(yùn)行環(huán)境,可以跨越嵌入式系統(tǒng)開發(fā)中仿真工具的障礙丧诺。Linux也符合IEEE POSIX.1標(biāo)準(zhǔn)入桂,使應(yīng)用程序具有較好的可移植性。
第四驳阎,Linux具有廣泛的硬件支持特性抗愁。
二、嵌入式Linux面臨的挑戰(zhàn)
????????目前呵晚,對嵌入式Linux系統(tǒng)的開發(fā)正在蓬勃興起蜘腌,并已形成了很大的市場。除了一些傳統(tǒng)的Linux公司饵隙,像RedHat撮珠、VA Linux等,正在從事嵌入式Linux的研究之外金矛,一批新公司(如Lineo劫瞳、TimeSys等)和一些傳統(tǒng)的大公司(如IBM、SGI绷柒、Motorola志于、Intel等)以及一些開發(fā)專用嵌入式操作系統(tǒng)的公司(如Lynx)也都在進(jìn)行嵌入式Linux的研究和開發(fā)。但就目前的技術(shù)而言废睦,嵌入式Linux的研究成果與市場的真正需求還有一些距離伺绽,因此,嵌入式Linux走向成熟還需要在以下幾個(gè)方面有所發(fā)展。
? ? (1)Linux的實(shí)時(shí)性擴(kuò)充
實(shí)時(shí)性是嵌入式操作系統(tǒng)的基本要求奈应。由于Linux還不是一個(gè)真正的實(shí)時(shí)操作系統(tǒng)澜掩,內(nèi)核不支持事件優(yōu)先級(jí)和搶占實(shí)時(shí)特性,所以在開發(fā)嵌入式Linux的過程中杖挣,首要問題是擴(kuò)展Linux的實(shí)時(shí)性能肩榕。對Linux實(shí)時(shí)性的擴(kuò)展可以從兩方面進(jìn)行:向外擴(kuò)展和向上擴(kuò)展。向外擴(kuò)展即從范圍上擴(kuò)展惩妇,讓實(shí)時(shí)系統(tǒng)支持的范圍更廣株汉,支持的設(shè)備更多。目前的開發(fā)所面向的設(shè)備僅限于較簡單的有實(shí)時(shí)要求的串/并口數(shù)據(jù)采集歌殃、浮點(diǎn)數(shù)據(jù)計(jì)算等乔妈,而像實(shí)時(shí)網(wǎng)絡(luò)這樣實(shí)時(shí)系統(tǒng)的高級(jí)應(yīng)用還需進(jìn)一步發(fā)展。向上擴(kuò)展是擴(kuò)充Linux內(nèi)核氓皱,從功能上擴(kuò)充Linux的實(shí)時(shí)處理和控制系統(tǒng)路召。如嵌入式系統(tǒng)RT-Linux,它的基本原理是將Linux本身的任務(wù)以及Linux內(nèi)核本身作為一個(gè)優(yōu)先級(jí)最低的任務(wù)波材,而實(shí)時(shí)任務(wù)作為優(yōu)先級(jí)最高的任務(wù)股淡,即在實(shí)時(shí)任務(wù)存在的情況下運(yùn)行實(shí)時(shí)任務(wù),否則就運(yùn)行Linux本身的任務(wù)廷区。實(shí)時(shí)任務(wù)不同于Linux普通進(jìn)程唯灵。它是以Linux的可裝載的內(nèi)核模塊(Loadable Kernel Module,LKM)的形式存在的躲因,需要運(yùn)行實(shí)時(shí)任務(wù)的時(shí)候早敬,將這個(gè)實(shí)時(shí)任務(wù)的內(nèi)核模塊插入到內(nèi)核中去,實(shí)時(shí)任務(wù)和Linux一般進(jìn)程之間的通信通過共享內(nèi)存或者FIFO通道來實(shí)現(xiàn)大脉。
? ? (2)改變Linux內(nèi)核的體系結(jié)構(gòu)
Linux的內(nèi)核體系采用的是Monolithic搞监。在這種體系結(jié)構(gòu)中,內(nèi)核的所有部分都集中在一起镰矿,而且所有的部件在一起編譯連接琐驴。這樣雖然能使系統(tǒng)的各部分直接溝通,有效地縮短任務(wù)之間的切換時(shí)間秤标,提高系統(tǒng)的響應(yīng)速度和CPU的利用率绝淡,且實(shí)時(shí)性好;但在系統(tǒng)比較大時(shí)體積也比較大苍姜,與嵌入式系統(tǒng)容量小牢酵、資源有限的特點(diǎn)不符。而另外一種內(nèi)核體系結(jié)構(gòu)MicroKernel衙猪, 在內(nèi)核中只包括了一些基本的內(nèi)核功能馍乙,如創(chuàng)建和刪除任務(wù)布近、任務(wù)調(diào)度、內(nèi)存管理和中斷處理等部分丝格,而文件系統(tǒng)撑瞧、網(wǎng)絡(luò)協(xié)議棧等部分都是在用戶內(nèi)存空間運(yùn)行。這種結(jié)構(gòu)雖然執(zhí)行效率不如Monolithic內(nèi)核显蝌,但大大減小了內(nèi)核的體積预伺,同時(shí)也方便了整個(gè)系統(tǒng)的升級(jí)、維護(hù)和移植曼尊,更能滿足嵌入式系統(tǒng)的特點(diǎn)需要酬诀。為此,要使嵌入式Linux的應(yīng)用更加廣泛涩禀,若將Linux目前的Monolithic內(nèi)核結(jié)構(gòu)中的部分結(jié)構(gòu)改造成MicroKernel體系結(jié)構(gòu)料滥,可使得到的Linux既具有很好的實(shí)時(shí)性然眼,又能滿足嵌入式系統(tǒng)體積小的要求艾船。
另外,Linux是一個(gè)需要占用存儲(chǔ)器的操作系統(tǒng)高每。雖然這可以通過減少一些不必要的功能來彌補(bǔ)屿岂,但可能會(huì)浪費(fèi)很多時(shí)間,而且容易帶來很大的麻煩鲸匿。許多Linux的應(yīng)用程序都要用到虛擬內(nèi)存爷怀,這在許多嵌入式系統(tǒng)中是沒有價(jià)值的。所以带欢,并不是一個(gè)沒有磁盤的Linux嵌入式系統(tǒng)就可以運(yùn)行任何Linux應(yīng)用程序运授。
? ? (3)完善Linux的集成開發(fā)環(huán)境
提供完整的集成開發(fā)環(huán)境是每一個(gè)嵌入式系統(tǒng)開發(fā)人員所期待的。一個(gè)完整的嵌入式系統(tǒng)的集成開發(fā)環(huán)境一般需要提供的工具是:編譯/連接器乔煞、內(nèi)核調(diào)試/跟蹤器和集成圖形界面開發(fā)平臺(tái)吁朦。其中的集成圖形界面開發(fā)平臺(tái)包括編輯器、調(diào)試器渡贾、軟件仿真器和監(jiān)視器等逗宜。在Linux系統(tǒng)中,具有功能強(qiáng)大的gcc編譯器工具鏈空骚,使用了基于GNU的調(diào)試器gdb的遠(yuǎn)程調(diào)試功能纺讲,一般由一臺(tái)客戶機(jī)運(yùn)行調(diào)試程序調(diào)試宿主機(jī)運(yùn)行的操作系統(tǒng)內(nèi)核; 在使用遠(yuǎn)程開發(fā)時(shí)還可以使用交叉平臺(tái)的方式,如在Windows平臺(tái)下的調(diào)試跟蹤器對Linux的宿主系統(tǒng)做調(diào)試囤屹。但是熬甚,Linux在基于圖形界面的特定系統(tǒng)定制平臺(tái)的研究上,與Windows操作系統(tǒng)相比還存在差距肋坚。因此乡括,要使嵌入式Linux在嵌入式操作系統(tǒng)領(lǐng)域中的優(yōu)勢更加明顯复局,整體集成開發(fā)環(huán)境還有待提高和完善。
三粟判、嵌入式Linux的發(fā)展及應(yīng)用前景
綜上亿昏,由于Linux具有對各種設(shè)備的廣泛支持性,因此档礁,能方便地應(yīng)用于機(jī)頂盒角钩、IA設(shè)備、PDA呻澜、掌上電腦递礼、WAP手機(jī)、尋呼機(jī)羹幸、車載盒以及工業(yè)控制等智能信息產(chǎn)品中脊髓。與PC相比,手持設(shè)備栅受、IA設(shè)備以及信息家電的市場容量要高得多将硝,而Linux嵌入式系統(tǒng)的強(qiáng)大的生命力和利用價(jià)值,使越來越多的企業(yè)和高校表現(xiàn)出對它極大的研發(fā)熱情屏镊。藍(lán)點(diǎn)軟件公司依疼、博利思公司、共創(chuàng)軟件聯(lián)盟而芥、中科紅旗等公司都已將嵌入式系統(tǒng)的開發(fā)作為自己的主要發(fā)展方向之一律罢。
在嵌入式系統(tǒng)的應(yīng)用中,Linux嵌入式操作系統(tǒng)所具有的技術(shù)優(yōu)勢和獨(dú)特的開發(fā)模式給業(yè)界以新異棍丐。有理由相信误辑,它能成為Internet時(shí)代嵌入式操作系統(tǒng)中的最強(qiáng)音。
————————————————
版權(quán)聲明:本文為CSDN博主「andyxie407」的原創(chuàng)文章歌逢,遵循CC 4.0 BY-SA版權(quán)協(xié)議巾钉,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/andyxie407/article/details/1629740