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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 通過任務(wù)分割提高嵌入式系統(tǒng)的實時性

          通過任務(wù)分割提高嵌入式系統(tǒng)的實時性

          作者: 時間:2010-01-15 來源:網(wǎng)絡(luò) 收藏

          引言

          隨著工業(yè)的飛速發(fā)展,人們對的要求越來越高。計算機技術(shù)的進步客觀上也為進一步提供了可能。因此近年來,實時的研究已經(jīng)成為單片同應(yīng)用領(lǐng)域的又一大熱點,實編排軟件也越來越多,有商業(yè)軟件,也有免費的代碼。然而影響的因素很多,有硬件,也有軟件的。這就決定了系統(tǒng)的實時性并不是一件十分容易的事情,除了使用高性能的CPU和高效的實時內(nèi)核外,在實時系統(tǒng)應(yīng)用的過程中,還要結(jié)合具體情況進行具體分析,充分利用CPU的效率,挖掘內(nèi)核的實時潛能。

          1 實時系統(tǒng)

          1.1 與多任務(wù)

          多任務(wù)實時系統(tǒng)時,任務(wù)是指一個程序分段。這個分段被操作系統(tǒng)當(dāng)作一個基本單元來調(diào)度。

          典型地,每個任務(wù)都是一個無限的循環(huán),而且在同一時刻只能處于以下5種狀態(tài)之一。這5種狀態(tài)是休眠態(tài)、就緒態(tài)、運行態(tài)、等待態(tài)和被中斷態(tài),如圖1所示。


          多任務(wù)系統(tǒng)的執(zhí)行過程實際上就是一系列任在這5種狀態(tài)中循環(huán)流動、輪流被內(nèi)核調(diào)度的過程。多任務(wù)運行使CPU的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。

          1.2 嵌入式多任務(wù)實時系統(tǒng)

          RTOS本質(zhì)上就是嵌入的實時內(nèi)核,它負責(zé)管理各個任務(wù),或者說是為每上任務(wù)分配CPU時間,并且負責(zé)任務(wù)之間的通信。實時內(nèi)核可分為可剝奪型和不同剝奪型兩類。因此,按照所使用內(nèi)核的不同,嵌入式實時系統(tǒng)也可分為兩類:使用不可剝奪型內(nèi)核的嵌入式實時系統(tǒng)和使用可剝奪型內(nèi)核的嵌入式實時系統(tǒng)。

          2 實時系統(tǒng)中的長任務(wù)問題

          2.1 長任務(wù)的定義

          在RTOS中,長任務(wù)就是指整個任務(wù)的執(zhí)行時間較長,超出了RTOS中其它某一個或某幾個任務(wù)的實時要求容限,而對整個RTOS的實時性構(gòu)成威脅的那些任務(wù)。

          2.2 長任務(wù)對RTOS的影響

          當(dāng)使用可剝奪型實時內(nèi)核時,長任務(wù)由于執(zhí)行的時間較長,因而更容易被高優(yōu)先級的任務(wù)打斷;一旦高優(yōu)先級的任務(wù)進入了就緒態(tài),當(dāng)前任務(wù)的CPU使用權(quán)就被剝奪了,或者說任務(wù)被掛起了,那個高優(yōu)先級的任務(wù)立刻得到了CPU的控制權(quán)。這樣會出現(xiàn)兩個問題:一是長任務(wù)可能在一次執(zhí)行的過程中被頻敏打斷,長時間得不到一次完整的執(zhí)行;二是長任務(wù)被打斷時,可能要保存大量的現(xiàn)場信息,其目的是為了保證在高優(yōu)先級的任務(wù)執(zhí)行完返回后,長任務(wù)能得以繼續(xù)執(zhí)行。然而,這樣做要占用一定的系統(tǒng)資源,同時保存現(xiàn)場本身也是要占用CPU時間的,因此,實時性也會下降。

          當(dāng)使用不可剝奪型實時內(nèi)核時,長任務(wù)對RTOS的影響更為明顯,因為在這種內(nèi)核中,任務(wù)級響應(yīng)時間取決于最長的任務(wù)執(zhí)行時間。這也就是說由于長任務(wù)的存在,任務(wù)級的響應(yīng)時間要變長。其結(jié)果是CPU長時間停留在長任務(wù)中,其它的任務(wù)得不到實時的響應(yīng),甚至于根本得不到執(zhí)行,系統(tǒng)的實時性勢必要下降。

          總之,無論是使用可剝奪型內(nèi)核,還是使用不可剝奪型內(nèi)核,長任務(wù)都會對RTOS構(gòu)成嚴重的威脅。

          3 長任務(wù)問題的解決

          解決長任務(wù)問題最有效的途徑是進行任務(wù)。所謂任務(wù)指將影響系統(tǒng)實時性的長任務(wù)成若干個小任務(wù)。這樣單個任務(wù)的執(zhí)行時間變短,系統(tǒng)的任務(wù)級響應(yīng)時間變短,實時性。

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

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();