1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        Linux 2.6 內核的嵌入式系統應用(1)

        發布時間:  2012/9/8 16:24:15

        隨著多媒體技術與通訊技術相結合的信息技術的快速發展和互聯網的廣泛應用,PC 時代也過渡到了后PC時代。在數字信息技術和網絡技術高速發展的后PC時代,嵌入式技術越來越與人們的生活緊密結合。

         

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

         

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

         

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

         

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

         

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

         

        1、可搶占內核

         

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

         

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

         

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

         

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

         

        2、有效的調度程序

         

        2.6版本的 Linux內核使用了由 Ingo Molnar開發的新的調度器算法,稱為O(1)算法,如圖1所示。它在高負載情況下執行得極其出色,并且當有很多處理器并行時也可以很好地擴展[2].過去的調度程序需要查找整個ready task隊列,并且計算它們的重要性以決定下一步調用的task,需要的時間隨task數量而改變。O(1)算法則不再每次掃描所有的任務,當task就緒時被放入一個活動隊列中,調度程序每次從中調度適合的task,因而每次調度都是一個固定的時間。任務運行時分配一個時間片,當時間片結束,該任務將放棄處理器并根據其優先級轉到過期隊列中;顒雨犃兄腥蝿杖空{度結束后,兩個隊列指針互換,過期隊列成為當前隊列,調度程序繼續以簡單的算法調度當前隊列中的任務。這在多處理器的情況更能提高SMP的效率,平衡處理器的負載,避免進程在處理器間的跳躍。

        3、同步原型與共享內存

         

        多進程應用程序需要共享內存和外設資源,為避免競爭采用了互斥的方法保證資源在同一時刻只被一個任務訪問。Linux內核用一個系統(QQ:小默862693539)調用來決定一個線程阻塞或是繼續執行來實現互斥,在線程繼續執行時,這個費時的系統(QQ:小默862693539)調用就沒有必要了。Linux2.6所支持的Fast User-Space Mutexes 可以從用戶空間檢測是不是需要阻塞線程,只在需要時執行系統(QQ:小默862693539)調用終止線程。它同樣采用調度優先級來確定將要執行的進程[4]. 多處理器嵌入式系統(QQ:小默862693539)各處理器之間需要共享內存,對稱多處理技術對內存訪問采用同等優先級,在很大程度上限制了系統(QQ:小默862693539)的可量測性和處理效率。Linux2.6則提供了新的管理方法--NUMA(Non Uniform Memory Access)。NUMA根據處理器和內存的拓撲布局,在發生內存競爭時,給予不同處理器不同級別權限以解決內存搶占瓶頸,提高吞吐量。

         

        4、POSIX線程及NPTL

         

         

        新的線程模型基于一個1:1的線程模型(一個內核線程對應一個用戶線程),包括內核對新的 NPTL(Native POSIX Threading Library)的支持,這是對以前內核線程方法的明顯改進。2.6內核同時還提供POSIX signals和POSIX high-resolution timers.POSIX signals不會丟失,并且可以攜帶線程間或處理器間的通信信息。嵌入式系統(QQ:小默862693539)要求系統(QQ:小默862693539)按時間表執行任務,POSIX timer可以提供1kHz的觸發器使這一切變得簡單,從而可以有效地控制進度。

         

        5、微控制器的支持

         

         

        Linux2.6內核加入了多種微控制器的支持。無MMU的處理器以前只能利用一些改進的分支版本,如uClinux,而2.6內核已經將其整合進了新的內核中,開始支持多種流行的無MMU微控制器,如Dragonball、ColdFire、Hitachi H8/300.Linux在無MMU控制器上仍舊支持多任務處理,但沒有內存保護功能。同時也加入了許多流行的控制器的支持,如S3C2410等。

         

        6、面向應用

         

        嵌入式應用有用戶定制的特點,硬件設計都針對特定應用開發,這給系統(QQ:小默862693539)帶來對非標準化設計支持的問題(如IRQ的管理)。為了更好地實現,可以采用部件化的操作系統(QQ:小默862693539)。Linux2.6采用的子系統(QQ:小默862693539)架構將功能模塊化,可以定制而對其他部分影響最小。同時Linux2.6提供了多種新技術的支持以實現各種應用開發,如Advanced Linux Sound Architecture(ALSA)和Video4Linux等,對多媒體信息處理更加方便;對USB2.0的支持,提供更高速的傳輸,增加藍牙無線接口、音頻數據鏈接和面向鏈接的數據傳輸L2CAP,滿足短距離的無線連接的需要;而且在2.6內核中還可以配置成無輸入和顯示的純粹無用戶接口系統(QQ:小默862693539)。


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线