<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

通過(guò)任務(wù)分割提高嵌入式系統的實(shí)時(shí)性

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

引言

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

1 實(shí)時(shí)系統

1.1 與多任務(wù)

多任務(wù)實(shí)時(shí)系統時(shí),任務(wù)是指一個(gè)程序分段。這個(gè)分段被操作系統當作一個(gè)基本單元來(lái)調度。

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


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

1.2 嵌入式多任務(wù)實(shí)時(shí)系統

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

2 實(shí)時(shí)系統中的長(cháng)任務(wù)問(wèn)題

2.1 長(cháng)任務(wù)的定義

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

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

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

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

總之,無(wú)論是使用可剝奪型內核,還是使用不可剝奪型內核,長(cháng)任務(wù)都會(huì )對RTOS構成嚴重的威脅。

3 長(cháng)任務(wù)問(wèn)題的解決

解決長(cháng)任務(wù)問(wèn)題最有效的途徑是進(jìn)行任務(wù)。所謂任務(wù)指將影響系統實(shí)時(shí)性的長(cháng)任務(wù)成若干個(gè)小任務(wù)。這樣單個(gè)任務(wù)的執行時(shí)間變短,系統的任務(wù)級響應時(shí)間變短,實(shí)時(shí)性。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>