<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式Linux實時化技術

          嵌入式Linux實時化技術

          作者:黃武陵 中科院自動化所 何小慶 北京麥克泰軟件技術有限公司 艾云峰 中科院研究生院 時間:2010-03-02 來源:電子產(chǎn)品世界 收藏

            ● 雙內核方式

          本文引用地址:http://www.ex-cimer.com/article/106458.htm

            內核實時化雙內核方式以RT、RTAI和Xenomai等為典型代表。其中RT實現(xiàn)了一個微內核實時操作系統(tǒng)支持底層任務管理、中斷服務例程、底層任務通信隊列等。普通Linux作為實時操作系統(tǒng)的最低優(yōu)先級任務,Linux下的任務通過FIFO命名管道和實時任務進行通信,如圖1所示。

            當Linux要關閉中斷時,實時微內核會截取并記錄這個請求,通過軟件來模擬中斷控制器,而沒有真正關閉硬件中斷,避免了由于關中斷所造成的響應延遲。RT-Linux將系統(tǒng)實時時鐘設置為單次觸發(fā)模式,提供微秒級的時鐘精度。RTAI類似RTLinux的實現(xiàn)方式,不同之處在于它修改了體系結構相關代碼,形成一個實時硬件抽象層(RTHAL),使其實時任務能在任何時刻中斷普通Linux任務,兩者之間通過非阻塞隊列進行通訊。RTAI將直接修改Linux內核的代碼減至最少,具有更好的可移植性。Xenomai以RTAI為基礎,也稱RTAI /Fusion。采用了Adeos微內核替代RTAI的硬件抽象層。其特色還在于模仿了傳統(tǒng)RTOS的API接口,推動傳統(tǒng)RTOS應用在GNU/Linux下的移植。類似還有基于Fiasco微內核的L4Linux等開源項目。

            ● 內核補丁方式

            雙內核實時方案下,實時任務需要按照微內核實時操作系統(tǒng)提供的另外一套API進行設計。而內核補丁方式則不改變Linux的API,原有應用程序可在實時化后的操作系統(tǒng)上運行,典型的有早期研究性的Kurt-Linux和Red-Linux,商業(yè)版本的MontaVista、TimeSys 和Wind River Linux,以及現(xiàn)階段Ingo Monlnar等人開發(fā)的實時搶占補丁內核等[3]。

            Kurt-Linux是第一個基于普通Linux的實時操作系統(tǒng)。通過正常態(tài)、實時態(tài)和混合態(tài)進行實時和非實時任務的劃分。RED-Linux通過任務多種屬性和調度程序,可以實現(xiàn)多種調度算法。采用軟件模擬中斷管理,并在內核插入了許多搶占點,提高了系統(tǒng)調度精度。

            MontaVista Linux在低延遲補丁以及可搶占內核補丁基礎上[4],通過開發(fā)內核O(1)實時調度程序并對可搶占內核進行了改進和測試,Linux 2.4內核時代,MontaVista Linux 作為商業(yè)成熟產(chǎn)品在實時性上有較強的優(yōu)勢。TimeSys Linux通過內核模塊的方式也提供了高精度時鐘、優(yōu)先級繼承mutex等支持。

            2.6版本的主流內核吸收了以上技術,支持CONFIG_PREEMPT_NONE,CONFIG_PREEMPT_VOLUNTARY和CONFIG_PREEMPT等多種配置選項。分別適合于計算型任務系統(tǒng),桌面用戶系統(tǒng)和毫秒級延遲系統(tǒng)。2005年,針對2.6內核MontaVista推出了實時Linux計劃,推進了Linux內核實時化進程。隨后Ingo Molnar發(fā)布了新的實時搶占補丁,并逐漸成為Linux內核實時主流技術,也為包括MontaVista Linux,Wind River Linux采用和補充,本文后續(xù)內容要涉及實時搶占補丁。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關鍵詞: 嵌入式 Linux 處理器

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();