目前,對 嵌入式linux(linux教程 linux培訓 )系統的開發正在蓬勃興起,并已形成了很大的市場。除了一些傳統的 Linux公司,像RedHat、VA Linux等,正在從事嵌入式Linux的研究之外,一批新公司(如Lineo、TimeSys等)和一些傳統的大公司(如IBM、SGI、Motorola、Intel等)以及一些開發專用嵌入式操作系統的公司(如Lynx)也都在進行嵌入式Linux的研究和開發。但就目前的技術而言,嵌入式Linux的研究成果與市場的真正需求還有一些距離,因此,嵌入式Linux走向成熟還需要在以下幾個方面有所發展。 (1)Linux的實時性擴充 實時性是嵌入式操作系統的基本要求。由于Linux還不是一個真正的實時操作系統,內核不支持事件優先級和搶占實時特性,所以在開發嵌入式Linux的過程中,首要問題是擴展Linux的實時性能。對Linux實時性的擴展可以從兩方面進行:向外擴展和向上擴展。向外擴展即從范圍上擴展,讓實時系統支持的范圍更廣,支持的設備更多。目前的開發所面向的設備僅限于較簡單的有實時要求的串/并口數據采集、浮點數據計算等,而像實時網絡這樣實時系統的高級應用還需進一步發展。向上擴展是擴充Linux內核,從功能上擴充Linux的實時處理和控制系統。如嵌入式系統RT-Linux,它的基本原理是將Linux本身的任務以及Linux內核本身作為一個優先級最低的任務,而實時任務作為優先級最高的任務,即在實時任務存在的情況下運行實時任務,否則就運行Linux本身的任務。實時任務不同于Linux普通進程。它是以Linux的可裝載的內核模塊(Loadable Kernel Module,LKM)的形式存在的,需要運行實時任務的時候,將這個實時任務的內核模塊插入到內核中去,實時任務和Linux一般進程之間的通信通過共享內存或者FIFO通道來實現。 (2)完善Linux的集成開發環境 提供完整的集成開發環境是每一個嵌入式系統開發人員所期待的。一個完整的嵌入式系統的集成開發環境一般需要提供的工具是:編譯/ 連接器、內核調試/跟蹤器和集成圖形界面開發平臺。其中的集成圖形界面開發平臺包括編輯器、調試器、軟件 仿真器和監視器等。在Linux系統中,具有功能強大的gcc編譯器工具鏈,使用了基于GNU的調試器gdb的遠程調試功能,一般由一臺客戶機運行調試程序調試宿主機運行的操作系統內核; 在使用遠程開發時還可以使用交叉平臺的方式,如在Windows平臺下的調試跟蹤器對Linux的宿主系統做調試。但是,Linux在基于圖形界面的特定系統定制平臺的研究上,與Windows操作系統相比還存在差距。因此,要使嵌入式Linux在嵌入式操作系統領域中的優勢更加明顯,整體集成開發環境還有待提高和完善。 (3)改變Linux內核的體系結構 Linux的內核體系采用的是Monolithic。在這種體系結構中,內核的所有部分都集中在一起,而且所有的部件在一起編譯連接。這樣雖然能使系統的各部分直接溝通,有效地縮短任務之間的切換時間,提高系統的響應速度和CPU的利用率,且實時性好;但在系統比較大時體積也比較大,與嵌入式系統容量小、資源有限的特點不符。而另外一種內核體系結構MicroKernel, 在內核中只包括了一些基本的內核功能,如創建和刪除任務、任務調度、內存管理和中斷處理等部分,而文件系統、網絡協議棧等部分都是在用戶內存空間運行。這種結構雖然執行效率不如Monolithic內核,但大大減小了內核的體積,同時也方便了整個系統的升級、維護和移植,更能滿足嵌入式系統的特點需要。為此,要使嵌入式Linux的應用更加廣泛,若將Linux目前的Monolithic內核結構中的部分結構改造成MicroKernel體系結構,可使得到的Linux既具有很好的實時性,又能滿足嵌入式系統體積小的要求。 另外,Linux是一個需要占用存儲器的操作系統。雖然這可以通過減少一些不必要的功能來彌補,但可能會浪費很多時間,而且容易帶來很大的麻煩。許多Linux的應用程序都要用到虛擬內存,這在許多嵌入式系統中是沒有價值的。所以,并不是一個沒有磁盤的Linux嵌入式系統就可以運行任何Linux應用程序 更多嵌入式 單片機咨詢可加群 277686564 QQ2905283896 電話13722663815
|