歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

Linux內核的嵌入式系統應用

關鍵字:Linux內核 隨著多媒體技術與通訊技術相結合的信息技術的快速發展和互聯網的廣泛應用,PC時代也過渡到了後PC時代。在數字信息技術和 網絡 技術高速發展的後PC時代, 嵌入式 技術越來越與人們的生活緊密結合。 操作系統為用戶使用計算機及其外部設備提供 關鍵字:Linux內核隨著多媒體技術與通訊技術相結合的信息技術的快速發展和互聯網的廣泛應用,PC 時代也過渡到了後PC時代。在數字信息技術和網絡技術高速發展的後PC時代,嵌入式技術越來越與人們的生活緊密結合。   

操作系統為用戶使用計算機及其外部設備提供最基本的接口程序,管理計算機上的資源。隨著應用領域的擴大,為了適應不同的應用場合,考慮到系統的靈活性、可伸縮性以及可裁剪性,一種以應用為中心、以計算機技術為基礎、軟硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗要求嚴格的專用計算機系統——嵌入式操作系統隨之延生。   

Linux 操作系統是一種性能優良、源碼公開且被廣泛應用的免費操作系統,由於其體積小、可裁減、運行速度高、良好的網絡性能等優點,可以作為嵌入式操作系統。隨著2.6內核的發布,Linux向現有主流的RTOS提供商在嵌入式系統市場提出了巨大挑戰,例如VxWorks和WinCE,具有許多新特性,將成為更優秀的嵌入式操作系統。   

Linux的低成本和開放性,為其在嵌入式系統領域的應用營造了肥沃的土壤。本文著重介紹Linux 2.6內核的新特性及其嵌入式應用中的優勢,並將其移植到嵌入式平台中,成功支持H.264編解碼多媒體系統。   

1 Linux 2.6內核針對嵌入式開發顯著特點

實時可靠性是嵌入式應用較為普遍的要求,盡管Linux 2.6 並不是一個真正的實時操作系統,但其改進的特性能夠滿足響應需求。Linux 2.6 已經在內核主體中加入了提高中斷性能和調度響應時間的改進,其中有三個最顯著的改進:采用可搶占內核、更加有效的調度算法以及同步性的提高[4]。在企業服務器以及嵌入式系統應用領域,Linux 2.6 都是一個巨大的進步。在嵌入式領域,Linux 2.6 除了提高其實時性能,系統的移植更加方便,同時添加了新的體系結構和處理器類型——包括對沒有硬件控制內存管理方案的 MMU-less系統的支持,可以支持大容量內存模型、微控制器,同時還改善了I/O子系統,增添更多的多媒體應用功能[4]。   

1.1 可搶占內核

在先前的內核版本中(包括2.4內核)不允許搶占以核心態運行的任務(包括通過系統調用進入內核模式的用戶任務),只能等待它們自己主動釋放CPU。這樣必然導致一些重要任務延時以等待系統調用結束。   

一個內核任務可以被搶占,為的是讓重要的用戶應用程序可以繼續運行。這樣做最主要的優勢是極大地增強系統的用戶交互性。   

2.6內核並不是真正的RTOS(Real Time Operation System),其在內核代碼中插入了搶占點,允許調度程序中止當前進程而調用更高優先級的進程,通過對搶占點的測試避免不合理的系統調用延時。2.6內核在一定程度上是可搶占的,比2.4內核具備更好的響應性。但也不是所有的內核代碼段都可以被搶占,可以鎖定內核代碼的關鍵部分,確保CPU的數據結構和狀態始終受到保護而不被搶占。   

軟件需要滿足最終時間限制與虛擬內存請求頁面調度之間是相互矛盾的。慢速的頁錯誤處理將會破壞系統的實時響應性,而2.6內核可以編譯無虛擬內存系統避免這個問題,這是解決問題的關鍵,但要求軟件設計者有足夠的內存來保證任務的執行。

Copyright © Linux教程網 All Rights Reserved