今天,Linux 正廣泛應用于各種嵌入式設備的開發中,如數字電視、機頂盒、DVR播放器、xDSL/有線/PON調制解調器、家用路由器和網關。它尤其適合具有先進網絡功能、大量設備驅動程序和免版稅運行時間的數字家庭和家庭網絡。除了嵌入式設備,Linux 還支持企業級設備,如服務器和路由器。
Linux在移動設備中也獲得了青睞。In-Stat的報告顯示,移動Linux將牢牢抓住中國巨大的市場占有率。該機構認為,到2012年,中國基于移動Linux的智能手機總發貨量將達到中國智能手機總出貨量的25.4%。
不斷改進的Linux內核
Linux當面對特定的嵌入式應用時仍存在很多挑戰,包括那些內存空間小或實時確定性以及安全性能要求高的應用。工具鏈的改進、新的調試工具和性能、不斷為標準化演變的努力等,都將繼續提升Linux對于所有嵌入式應用的價值。在這其中,Linux內核的不斷改進異常重要。
Linux內核是應用軟件采用的標準Linux API和處理器系統(應用軟件運行其上)底層硬件結構之間的接口。該內核是內部元件和外部可加載模塊的復雜組合。在開機啟動期間,內核必須及時發現,并正確布置核心系統處理器、系統存儲器、硬盤、視頻卡、USB端口、網卡和音頻處理器,而且要在開機啟動期間提供足夠的顯示表明成功與否。
維持如此復雜的代碼收集很明顯是一個嚴峻的挑戰。內核源代碼被劃分為標準“樹”結構,這樣子系統就能夠更好地彼此隔離,有助于實現幾個關鍵內核維護工作的分布。這種分工可以最大限度地減少內核某一部分發生重大變化對其他部分產生的影響。每個后續子系統的改變傳達給主要管理員,最終到達Linux內核最上游的管理員。這些變化被稱為“修補(patch)”,在標準格式下創建和應用。
供應商和開發人員將他們的知識反饋到開源社群以改進內核。Linux開放、分散的本質,再加上背后強大的社群支持,使基于Linux的OS成為培養創新的良好選擇。
![圖片點擊可在新窗口打開查看](http://www.cesiu.org.cn/UpFiles/article/admin/200910/2009101009091338045.jpg)
為下一個項目計劃的Linux操作系統
“免費”使用,但并非“零”成本
除了決定使用商用還是免費發行版Linux,開發人員還必須認識到其調試/開發工具的能力和局限。
充分發揮嵌入式Linux免費發行版的優勢,已經成為消費產品領域被廣泛接收的現實。在這些市場上,產品運行率非常高,對代碼的改善更新非常頻繁,而且產品的銷售成本至關重要,所有這些都使得開源模式極具吸引力。但是,能集成開源/免費軟件,還可為處理器內核提供無縫調試環境的工具要求對內核和SoC元件互動有深刻的了解。
現在有若干種“免費軟件”調試解決方案,設計人員需要全面了解其局限性。比如,針對Linux內核最常用免費軟件調試器是KGDB。KGDB的主要缺點是要求重新編譯內核。這對那些已經在市場上通用的產品應用來說產并不總是可行的。修補內核還可能引入影響系統性能的代碼變化。
GDBServer是另一個面向應用調試的頗受歡迎的免費軟件調試器,但它主要問題是缺乏對同時調試大量線程/進程的支持。隨著調試的線程/進程數不斷增加,GDBServer性能迅速惡化,導致反應時間太慢,進而使目標系統出現故障。其他問題還涉及到:不能在相同的目標連接上調試驅動程序和應用;調試設備驅動程序和調試共享庫。
Linux內核的維