国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于SmartOSEKOS的非周期性任務(wù)調(diào)度方法

      文檔序號(hào):6603259閱讀:284來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):基于SmartOSEK OS的非周期性任務(wù)調(diào)度方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種非周期性任務(wù)調(diào)度方法,特別是涉及基于SmartOSEK OS的非周期 性任務(wù)調(diào)度方法。
      背景技術(shù)
      實(shí)時(shí)操作系統(tǒng)的主要目標(biāo)在于保證硬實(shí)時(shí)任務(wù),一般是周期性任務(wù)的實(shí)時(shí)性,并 盡量降低非周期性任務(wù)的平均響應(yīng)時(shí)間。單處理器系統(tǒng)中存在多個(gè)任務(wù)在同一時(shí)間段內(nèi) 申請(qǐng)?zhí)幚砥髻Y源,如何正確處理這些任務(wù)的執(zhí)行時(shí)間以及執(zhí)行順序是解決實(shí)時(shí)性問(wèn)題的關(guān) 鍵。因?yàn)榉侵芷谌蝿?wù)的到達(dá)不定時(shí)以及執(zhí)行時(shí)間不確定的特點(diǎn),優(yōu)先級(jí)較高的非周期性任 務(wù)在一定程度上會(huì)阻止周期性任務(wù)的正常運(yùn)行。因此高實(shí)時(shí)性能的操作系統(tǒng)都會(huì)提供處理 非周期性任務(wù)的調(diào)度算法。SmartOSEK OS是由浙江大學(xué)嵌入式工程中心根據(jù)國(guó)家汽車(chē)電子軟件發(fā)展的需 求而自主研發(fā)的符合0SEK/VDX標(biāo)準(zhǔn)的嵌入式實(shí)時(shí)操作系統(tǒng)。0SEK/VDX是國(guó)際汽車(chē)工業(yè) 為提高汽車(chē)電子軟件的重用性,降低軟件開(kāi)發(fā)成本而提出的汽車(chē)開(kāi)放結(jié)構(gòu)的工業(yè)標(biāo)準(zhǔn)。 SmartOSEK OS是多任務(wù)的單處理器系統(tǒng),在同一時(shí)間內(nèi)可以同時(shí)存在周期性任務(wù)、非周期 性任務(wù),所有任務(wù)的優(yōu)先級(jí)是用戶(hù)根據(jù)任務(wù)的重要性配置的。一般來(lái)說(shuō)任務(wù)的觸發(fā)時(shí)間是 隨機(jī)的,保證周期任務(wù)的實(shí)時(shí)要求和非周期性任務(wù)的低響應(yīng)時(shí)間是SmartOSEK OS的責(zé)任。調(diào)度非周期性任務(wù)的最簡(jiǎn)單方法就是將非周期任務(wù)作為后臺(tái)任務(wù)處理,但是這種 方法使得非周期性任務(wù)的響應(yīng)時(shí)間很長(zhǎng)。為降低任務(wù)的平均響應(yīng)時(shí)間,流行的做法就是建 立一個(gè)周期性服務(wù),以下簡(jiǎn)稱(chēng)為server,專(zhuān)門(mén)為非周期性任務(wù)的調(diào)度服務(wù),在該服務(wù)能申請(qǐng) 到的處理器時(shí)間內(nèi)有規(guī)律的調(diào)用非周期性任務(wù)執(zhí)行。一個(gè)sever主要用兩個(gè)屬性來(lái)描述 優(yōu)先級(jí)以及能量(capacity或者budget),其中優(yōu)先級(jí)作為與其他周期性任務(wù)競(jìng)爭(zhēng)處理器 的參數(shù),capacity是server能夠申請(qǐng)到的處理器時(shí)間。當(dāng)server的capacity不為空時(shí),非 周期任務(wù)可以運(yùn)行在server的優(yōu)先級(jí)競(jìng)爭(zhēng)處理器。如果獲得處理器成功,在執(zhí)行任務(wù)的同 時(shí)也消耗server的capacity,直到任務(wù)執(zhí)行結(jié)束,或者capacity消耗殆盡。如果capacity 消耗盡,該非周期任務(wù)需要等待capacity的補(bǔ)給。Sporadic Server算法是眾多server算 法中比較優(yōu)秀的一種帶寬保留算法。

      發(fā)明內(nèi)容
      本發(fā)明的目的是提供一種在基于優(yōu)先級(jí)調(diào)度的多任務(wù)單處理器系統(tǒng)中,利用 Sporadic Server來(lái)調(diào)度非周期性任務(wù),從而保證任務(wù)的可調(diào)度性、實(shí)時(shí)性,并使調(diào)度性能 的實(shí)時(shí)性、穩(wěn)定安全性得到提高的非周期性任務(wù)調(diào)度方法。為解決上述技術(shù)問(wèn)題,本發(fā)明采取以下技術(shù)方案一種基于SmartOSEK OS的 非周期性任務(wù)調(diào)度方法,其特征在于在基于優(yōu)先級(jí)調(diào)度的多任務(wù)單處理器系統(tǒng)中,利 用Sporadic Server來(lái)調(diào)度非周期性任務(wù),其與基于優(yōu)先級(jí)的調(diào)度 算法一起形成了當(dāng)前 SmartOSEK OS中的調(diào)度系統(tǒng)。
      本發(fā)明的調(diào)度方法在基于優(yōu)先級(jí)調(diào)度的多任務(wù)單處理器系統(tǒng)中,利用Sporadic Server來(lái)調(diào)度非周期性任務(wù),從而保證任務(wù)的可調(diào)度性、實(shí)時(shí)性,并使調(diào)度性能的實(shí)時(shí)性、 穩(wěn)定安全性得到提高。


      圖 1 是 Sporadic Server 在 SmartOSEK OS 中執(zhí)行流 程。
      具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。為保證任務(wù)的可調(diào)度性和實(shí)時(shí)性(周期性任務(wù)在周期結(jié)束前執(zhí)行完畢以及非周 期性任務(wù)的低響應(yīng)時(shí)間),本發(fā)明將Sporadic server算法引進(jìn)SmartOSEK OS中負(fù)責(zé)調(diào)度 非周期任務(wù)。在基于優(yōu)先級(jí)調(diào)度的多任務(wù)單處理器系統(tǒng)中,利用Sporadic Server來(lái)調(diào)度非 周期性任務(wù),且只有非周期任務(wù)會(huì)分配給一個(gè)server調(diào)度,具體地說(shuō),Sporadic Server是 一種算法,這里的server是指為實(shí)現(xiàn)SporadicServer而在OS內(nèi)建立的一個(gè)周期性任務(wù), 即server是為了實(shí)現(xiàn)Sporadic server算法,在os中的運(yùn)行實(shí)體。針對(duì)SmartOSEK中的 實(shí)現(xiàn),server就是一個(gè)周期性任務(wù)。Pfij^E Sporadic server ^^iSiST SmartOSEK OSSporadic Server 算法引進(jìn)OS中處理非周期性任務(wù)的調(diào)度后,其與基于優(yōu)先級(jí)的調(diào)度算法一起形成了當(dāng)前 SmartOSEK OS中的調(diào)度系統(tǒng);SmartOSEK OS中的全局調(diào)度器仍使用基于優(yōu)先級(jí)的調(diào)度 算法來(lái)調(diào)度周期性任務(wù)以及所有的server,所述全局調(diào)度器是讓最高優(yōu)先級(jí)的任務(wù)或者 capacity不為空且存在就緒任務(wù)的server來(lái)?yè)屨继幚砥?,所謂就緒狀態(tài)的server是指 能量不為空且存在就緒的非周期任務(wù)的server ;局部調(diào)度器則使用Sporadic server來(lái) 調(diào)度非周期任務(wù),將所有非周期任務(wù)按照FIFO的原則放至對(duì)應(yīng)的server就緒隊(duì)列中。而 SmartOSEK OS只關(guān)心server的存在,不關(guān)心系統(tǒng)中當(dāng)前到底有幾個(gè)非周期性任務(wù)。Sever的主要屬性有兩個(gè),即優(yōu)先級(jí)以及能量(capacity或者budget),并且可 由用戶(hù)根據(jù)任務(wù)集來(lái)配置,其中優(yōu)先級(jí)作為與其他周期性任務(wù)競(jìng)爭(zhēng)處理器的參數(shù),而能量 (capacity)是server能夠申請(qǐng)到的處理器時(shí)間。Sporadic Server算法中,在下一次補(bǔ)給時(shí)刻之前,server會(huì)一直保留著 capacity ;當(dāng)server的capacity不為空時(shí),非周期任務(wù)可以運(yùn)行在server的優(yōu)先級(jí) 因而能夠與其他任務(wù)競(jìng)爭(zhēng)處理器,得到處理器執(zhí)行任務(wù)的同時(shí)需要消耗server的能量 (capacity)直到任務(wù)執(zhí)行結(jié)束,或者直到能量(capacity)消耗殆盡。如果能量(capacity) 消耗盡,則該非周期任務(wù)需要等待能量(capacity)的補(bǔ)給。在SmartOSEK OS中,sporadic server作為一個(gè)特殊的周期性任務(wù),除了周期以 及優(yōu)先級(jí)外,還具有與其他周期性任務(wù)不同的屬性特征,如下所示(1)non-periodic tasks,queue 每一個(gè) server 根據(jù) FIFO 算法調(diào)度歸屬于該 server的非周期性任務(wù)。(2) execution capacity 該變量用來(lái)描述server的capacity大小,控制非周期 性任務(wù)運(yùn)行的時(shí)間。(3)replenishment period 用于server周期性補(bǔ)給的時(shí)間約束。
      (4)replenishment queue 用于存儲(chǔ)該server的多個(gè)補(bǔ)給時(shí)刻以及補(bǔ)給量的數(shù)組。(5) alarm 補(bǔ)給操作執(zhí)行時(shí)刻計(jì)時(shí)器。(6) remaining budget 當(dāng)前server的剩余capacity,即可以占有處理器的時(shí)間。(7)budget start 標(biāo)記 capacity 開(kāi)始消耗的時(shí)刻。Sporadic Server參數(shù)(周期以及capacity)的配置是基于配置的任務(wù)集的,合理 的server參數(shù)可以很好地調(diào)整周期性任務(wù)與非周期性任務(wù)執(zhí)行順序。Sporadic server的capacity算法(補(bǔ)給與消耗算法)有很多種,SmartOSEK OS 中使用的capacity算法如下所示(1)在系統(tǒng)啟動(dòng)時(shí),將capacity初始化為滿(mǎn)。(2)只有當(dāng)非周期性任務(wù)在運(yùn)行時(shí),capacity才會(huì)消耗。(3)只有server的capacity被非周期性任務(wù)消耗后才可以補(bǔ)給(4)當(dāng)server或者比server更高優(yōu)先級(jí)任務(wù)運(yùn)行時(shí),開(kāi)始計(jì)算補(bǔ)給時(shí)刻,而且補(bǔ) 給時(shí)刻為當(dāng)前時(shí)刻加上server的周期。(5)當(dāng)capacity從上次補(bǔ)給過(guò)后被消耗了,并且當(dāng)前server沒(méi)有任務(wù)需要執(zhí)行 時(shí),要計(jì)算當(dāng)前server需要的補(bǔ)給數(shù)量。當(dāng)非周期性任務(wù)就緒并且當(dāng)前server的capacity不為空、server的優(yōu)先級(jí)是當(dāng) 前系統(tǒng)中最高優(yōu)先級(jí)時(shí),sporadic server負(fù)責(zé)調(diào)度執(zhí)行非周期性任務(wù);當(dāng)capacity為空 時(shí),要立刻掛起server對(duì)應(yīng)的非周期性任務(wù),執(zhí)行其他就緒的周期任務(wù)。SmartOSEK OS支持多個(gè)server共存,能夠處理不同重要度的非周期任務(wù)。優(yōu) 先級(jí)較低的非周期性或者執(zhí)行時(shí)間很長(zhǎng)的任務(wù)可以分配給優(yōu)先級(jí)稍低的server調(diào)度,該 server的能量(capacity)可以較長(zhǎng);優(yōu)先級(jí)較高或者執(zhí)行時(shí)間很短的任務(wù)可以分配給優(yōu) 先級(jí)較高的server調(diào)度,該server的能量(capacity)可以適當(dāng)變小。通過(guò)上述設(shè)置可以 盡量使得非周期任務(wù)的平均響應(yīng)時(shí)間降低,而且可以盡量降低對(duì)周期性任務(wù)的影響,從而 使得周期性任務(wù)仍然能夠在最后期限前完成。圖1描述了 Sporadic Server這個(gè)特殊周期任務(wù)在SmartOSEK OS中執(zhí)行流程。根 據(jù)本發(fā)明中的sporadic server的算法以及server的數(shù)據(jù)結(jié)構(gòu)描述,參考圖1的操作流程 描述,在SmartOSEK OS中實(shí)現(xiàn)sporadic server,并將該模塊作為OS的可裁剪模塊。如圖1所示(1)在配置階段,每個(gè)非周期性任務(wù)需要配置唯一對(duì)應(yīng)的Server。(2)當(dāng)非周期性任務(wù)到達(dá)系統(tǒng)后,OS根據(jù)FIFO原則將其放置在對(duì)應(yīng)的server的 非周期任務(wù)就緒列表中。(3)如果server的capacity不為零而且就緒表不為空,則該server處于就緒狀 態(tài),即該server對(duì)于OS來(lái)說(shuō)就是一個(gè)就緒的周期任務(wù),可以參與調(diào)度。(4)如果server是系統(tǒng)中優(yōu)先級(jí)最高的就緒任務(wù),則處于該server就緒任務(wù)列表 的隊(duì)首非周期任務(wù)可以占用處理器執(zhí)行任務(wù)。(5)非周期任務(wù)執(zhí)行的同時(shí)也要消耗capacity,任務(wù)每執(zhí)行一個(gè)時(shí)間單位則 capacity也需要減少一個(gè)時(shí)間單位。(6)如果server的capacity耗盡,或者任務(wù)執(zhí)行結(jié)束都要將server處于非就緒狀態(tài)。等待capacity的補(bǔ)給或者就緒的非周期任務(wù)。本發(fā)明測(cè)試的硬件環(huán)境為使用HCS12開(kāi)發(fā)板一塊運(yùn)行SmartOSEK OS內(nèi)核代碼; 使用調(diào)試器將基于SmartOSEK OS的編寫(xiě)的應(yīng)用程序燒寫(xiě)至HCS12開(kāi)發(fā)板。本發(fā)明測(cè)試的 軟件環(huán)境為使用CodeWarrior IDE用來(lái)編譯并連接調(diào)試器將應(yīng)用程序下載到開(kāi)發(fā)板上運(yùn) 行。通過(guò)在Freescale HCS12 上測(cè)試引入了 sporadic server 后的 SmartOSEK 0S,可 以得到sporadic server能夠明顯提高SmartOSEKOS任務(wù)集合的可調(diào)度性、實(shí)時(shí)性,非周 期性任務(wù)的平均響應(yīng)時(shí)間降低,周期性任務(wù)在截止期限前完成的比例提高。
      權(quán)利要求
      一種基于SmartOSEK OS的非周期性任務(wù)調(diào)度方法,其特征在于在基于優(yōu)先級(jí)調(diào)度的多任務(wù)單處理器系統(tǒng)中,利用SporadicServer來(lái)調(diào)度非周期性任務(wù),其與基于優(yōu)先級(jí)的調(diào)度算法一起形成了當(dāng)前SmartOSEK OS中的調(diào)度系統(tǒng)。
      2.如權(quán)利要求1所述調(diào)度方法,其特征在于SmartOSEKOS中的全局調(diào)度器用于調(diào) 度最高優(yōu)先級(jí)的任務(wù)搶占處理器,所述最高優(yōu)先級(jí)的任務(wù)是周期任務(wù)或處于就緒狀態(tài)的 server。
      3.如權(quán)利要求1或2所述調(diào)度方法,其特征在于SmartOSEKOS中的局部調(diào)度器使 用Sporadic server來(lái)調(diào)度非周期任務(wù),將所有非周期任務(wù)按照FIFO的原則放至對(duì)應(yīng)的 server的就緒隊(duì)列中。
      4.如權(quán)利要求3所述調(diào)度方法,其特征在于SporadicServer算法作為一種帶寬保留 算法,在下一次能量補(bǔ)給時(shí)刻之前,server會(huì)一直保留著能量。
      5.如權(quán)利要求4所述調(diào)度方法,其特征在于-Sporadicserver的補(bǔ)給與消耗算法如下(1)在系統(tǒng)啟動(dòng)時(shí),將每個(gè)server的能量初始化為滿(mǎn);(2)只有當(dāng)非周期性任務(wù)在運(yùn)行時(shí),對(duì)應(yīng)的server能量才會(huì)消耗;(3)只有非周期性任務(wù)對(duì)應(yīng)的server的能量被非周期性任務(wù)消耗后才能夠補(bǔ)給;(4)當(dāng)server或者比server更高優(yōu)先級(jí)任務(wù)運(yùn)行時(shí),開(kāi)始計(jì)算該server的補(bǔ)給時(shí)刻, 而且所述補(bǔ)給時(shí)刻為當(dāng)前時(shí)刻加上server的周期;(5)當(dāng)server的能量從上次補(bǔ)給時(shí)刻過(guò)后被消耗了,并且當(dāng)前server沒(méi)有任務(wù)需要執(zhí) 行時(shí),計(jì)算當(dāng)前server需要補(bǔ)給的能量補(bǔ)給數(shù)量。
      6.如權(quán)利要求5所述調(diào)度方法,其特征在于當(dāng)非周期性任務(wù)就緒并且對(duì)應(yīng)的server 的能量不為空、且server的優(yōu)先級(jí)是當(dāng)前系統(tǒng)中最高優(yōu)先級(jí)時(shí),sporadic server負(fù)責(zé)調(diào) 度執(zhí)行非周期性任務(wù);隨著server的能量消耗為空時(shí),OS就要立刻掛起server對(duì)應(yīng)的非 周期性任務(wù),執(zhí)行其他就緒的周期任務(wù)或者server。
      7.如權(quán)利要求6所述調(diào)度方法,其特征在于0S支持多個(gè)server,優(yōu)先級(jí)較低或者執(zhí) 行時(shí)間很長(zhǎng)的非周期性任務(wù)分配給優(yōu)先級(jí)稍低的server調(diào)度,該server的能量較長(zhǎng);優(yōu)先級(jí)較高或者執(zhí)行時(shí)間很短的非周期性任務(wù)分配給優(yōu)先級(jí)較高的server調(diào)度,該 server的能量適當(dāng)較小。
      8.如權(quán)利要求7所述調(diào)度方法,其特征在于SporadicServer在SmartOSEK OS中執(zhí) 行流程為(1)在配置階段,為每個(gè)非周期性任務(wù)配置唯一對(duì)應(yīng)的Server;(2)當(dāng)非周期性任務(wù)到達(dá)SmartOSEKOS后,SmartOSEK OS根據(jù)FIFO原則將其放置在 對(duì)應(yīng)的server的非周期任務(wù)就緒列表中;(3)如果server的能量不為零而且就緒表不為空,則該server處于就緒狀態(tài)、能夠參 與調(diào)度;(4)如果server是系統(tǒng)中優(yōu)先級(jí)最高的就緒任務(wù),則處于該server就緒任務(wù)列表的隊(duì) 首非周期任務(wù)能夠占用處理器執(zhí)行任務(wù);(5)非周期任務(wù)執(zhí)行的同時(shí)也要消耗capacity,任務(wù)每執(zhí)行一個(gè)時(shí)間單位則capacity 也需要減少一個(gè)時(shí)間單位;(6)如果server的能量耗盡,或者任務(wù)執(zhí)行結(jié)束都要將server處于非就緒狀態(tài)。
      全文摘要
      本發(fā)明涉及一種基于SmartOSEK OS的非周期性任務(wù)調(diào)度方法,其特征在于在基于優(yōu)先級(jí)調(diào)度的多任務(wù)單處理器系統(tǒng)中,利用Sporadic Server來(lái)調(diào)度非周期性任務(wù),其與基于優(yōu)先級(jí)的調(diào)度算法一起形成了當(dāng)前SmartOSEK OS中的調(diào)度系統(tǒng)。本發(fā)明的調(diào)度方法在基于優(yōu)先級(jí)調(diào)度的多任務(wù)單處理器系統(tǒng)中,利用Sporadic Server來(lái)調(diào)度非周期性任務(wù),從而保證任務(wù)的可調(diào)度性、實(shí)時(shí)性,并使調(diào)度性能的實(shí)時(shí)性、穩(wěn)定安全性得到提高。
      文檔編號(hào)G06F9/48GK101833477SQ201010186849
      公開(kāi)日2010年9月15日 申請(qǐng)日期2010年5月28日 優(yōu)先權(quán)日2010年5月28日
      發(fā)明者吳朝暉, 周麗, 周霖, 張成碩, 李紅, 王鑄 申請(qǐng)人:浙江大學(xué)
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1