通過任務(wù)分割提高嵌入式系統(tǒng)的實(shí)時性_第1頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、通過任務(wù)分割提高嵌入式系統(tǒng)的實(shí)時性多任務(wù)系統(tǒng)的執(zhí)行過程事實(shí)上就是一系列任在這5種狀態(tài)中循環(huán)流淌、輪番被內(nèi)核調(diào)度的過程。多任務(wù)運(yùn)行使cpu的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。1.2 嵌入式多任務(wù)實(shí)時系統(tǒng)rtos本質(zhì)上就是嵌入的實(shí)時內(nèi)核,它負(fù)責(zé)管理各個任務(wù),或者說是為每上任務(wù)分配cpu時光,并且負(fù)責(zé)任務(wù)之間的通信。實(shí)時內(nèi)核可分為可剝奪型和不同剝奪型兩類。因此,根據(jù)所用法內(nèi)核的不同,嵌入式實(shí)時系統(tǒng)也可分為兩類:用法不行剝奪型內(nèi)核的嵌入式實(shí)時系統(tǒng)和用法可剝奪型內(nèi)核的嵌入式實(shí)時系統(tǒng)。2 實(shí)時系統(tǒng)中的長任務(wù)問題2.1 長任務(wù)的定義在rtos中,長任務(wù)就是指囫圇任務(wù)的執(zhí)行時光較長,超出了rtos中其

2、它某一個或某幾個任務(wù)的實(shí)時要求容限,而對囫圇rtos 的實(shí)時性構(gòu)成威逼的那些任務(wù)。2.2 長任務(wù)對rtos的影響當(dāng)用法可剝奪型實(shí)時內(nèi)核時,長任務(wù)因?yàn)閳?zhí)行的時光較長,因而更簡單被高優(yōu)先級的任務(wù)打斷;一旦高優(yōu)先級的任務(wù)進(jìn)入了就緒態(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時

3、光的,因此,實(shí)時性也會下降。當(dāng)用法不行剝奪型實(shí)時內(nèi)核時,長任務(wù)對rtos的影響更為顯然,由于在這種內(nèi)核中,任務(wù)級響應(yīng)時光取決于最長的任務(wù)執(zhí)行時光。這也就是說因?yàn)殚L任務(wù)的存在,任務(wù)級的響應(yīng)時光要變長。其結(jié)果是cpu長時光停歇在長任務(wù)中,其它的任務(wù)得不到實(shí)時的響應(yīng),甚至于根本得不到執(zhí)行,系統(tǒng)的實(shí)時性勢須要下降。總之,無論是用法可剝奪型內(nèi)核,還是用法不行剝奪型內(nèi)核,長任務(wù)都會對rtos構(gòu)成嚴(yán)峻的威逼。3 長任務(wù)問題的解決解決長任務(wù)問題最有效的途徑是舉行任務(wù)分割。所謂任務(wù)分割指將影響系統(tǒng)實(shí)時性的長任務(wù)分割成若干個小任務(wù)。這樣單個任務(wù)的執(zhí)行時光變短,系統(tǒng)的任務(wù)級響應(yīng)時光變短,實(shí)時性提高。3.1 對rto

4、s的分析與計算固然,長任務(wù)的分割必需結(jié)合系統(tǒng)中所用法的內(nèi)核,以及各任務(wù)對實(shí)時性的要求狀況,舉行須要的分析計算,才干保證分割的合理性和有效懷,詳細(xì)的步驟如下:分析系統(tǒng)共有多少個任務(wù),這些任務(wù)對實(shí)時性的要求有多高,求出各個任務(wù)所要求的最小執(zhí)行頻率 f1,f2,f3fn。計算目前各任務(wù)的實(shí)際執(zhí)行時光t1,t2,t3tn。確定系統(tǒng)中的長任務(wù)假如max(t1,t2,t3tn)min(1/f1,1/f2,1/f31/fn)則此系統(tǒng)中不存在長任務(wù)。假如max(t1,t2,t3tn)>min(1/f1,1/f2,1/f31/fn)則存在長任務(wù),而且執(zhí)行時光為max(t1,t2,t3tn)的那個任務(wù)就是要找的長任務(wù)。分析此長任務(wù)是否需要分割分析一下是什么緣由導(dǎo)致執(zhí)行的時光過長,這個時光還能夠通過程序的優(yōu)化來縮短?假如能,則不需要舉行任務(wù)分割;否則要對這個長任務(wù)舉行分割。3.2 任務(wù)分割常用的任務(wù)分割的辦法有以下兩種:將長任務(wù)按功能分為若干個小模塊,每一個模塊構(gòu)成一個小任務(wù),每個小任務(wù)執(zhí)行一個相對自立的功能,且要保證執(zhí)行時光t4 實(shí)例分析4.1 系統(tǒng)介紹在此,系統(tǒng)的硬件基礎(chǔ)是基于mc68hc908gp32系統(tǒng)的,用其一般i/o口作為矩陣式鍵盤的輸入輸出引腳;軟件基礎(chǔ)是在mc68

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論