|
1.任務(wù)劃分目標(biāo):
- 實(shí)時(shí)性
- 任務(wù)數(shù)目合理 :多 任務(wù)設(shè)計(jì)簡(jiǎn)單 os通信多,運(yùn)行效率下降。少 任務(wù)實(shí)現(xiàn)功能復(fù)雜 os通信少 減輕os負(fù)擔(dān)。
- 簡(jiǎn)化軟件系統(tǒng)。 降低對(duì)os服務(wù)的要求減少軟件代碼。
- 降低系統(tǒng)資源需求。
2.任務(wù)劃分方法
- 輸入輸出設(shè)備與cpu速度差別是并發(fā)運(yùn)行前提和基礎(chǔ),也是一個(gè)通常都滿足的事實(shí)。
- 關(guān)鍵任務(wù)的劃分:關(guān)鍵性是指某種功能很重要,如果功能不能正常實(shí)現(xiàn),則將造成重大影響,甚至引發(fā)災(zāi)難后果,必須執(zhí)行,一次也不能漏。
- ISR不受os的調(diào)度,具有超優(yōu)先級(jí)。應(yīng)盡量簡(jiǎn)短,提高實(shí)時(shí)性。通過(guò)消息分發(fā)功能OSMboxPostOpt()的廣播功能,使所有等待該任務(wù)的消息進(jìn)入就緒狀態(tài)。
- 關(guān)鍵任務(wù)剝離開(kāi)來(lái)。如果實(shí)時(shí)性不高,優(yōu)先級(jí)可以低。
- 緊迫任務(wù)的劃分:是指某種功能必須及時(shí)運(yùn)行,按時(shí)完成。安排在ISR中完成。否則安排盡可能高的優(yōu)先級(jí)。
- 緊迫任務(wù)要按時(shí)完成,則要瘦身,剝離不緊迫的操作。緊迫任務(wù)不一定是關(guān)鍵任務(wù),遺漏執(zhí)行不會(huì)有嚴(yán)重后果。
- 數(shù)據(jù)處理任務(wù)劃分:耗時(shí)最多,優(yōu)先級(jí)安排要低。
- 功能聚合任務(wù):關(guān)系密切若干功能組合為一個(gè)任務(wù)。關(guān)聯(lián)緊密,時(shí)序關(guān)聯(lián)。省去數(shù)據(jù)通信和同步通信。
- 觸發(fā)條件相同任務(wù)劃分:若干功能由相同事件觸發(fā)組合成一個(gè)任務(wù)。避免分發(fā)給多個(gè)任務(wù)。要求每個(gè)功能不能出現(xiàn)問(wèn)題,否則后面的執(zhí)行不了。
- 外部條件觸發(fā)的一般是關(guān)鍵和緊迫任務(wù)。內(nèi)部事件觸發(fā)的一般不是,一般是時(shí)間事件,或內(nèi)部運(yùn)行結(jié)果觸發(fā),或按時(shí)間周期觸發(fā)任務(wù)運(yùn)行。
- 任務(wù)內(nèi)部,各功能執(zhí)行順序安排:1.因果順序。2.完全獨(dú)立按實(shí)時(shí)性強(qiáng)弱安排。
- 運(yùn)行周期相同任務(wù)的劃分:
- 將周期相同的功能封裝一個(gè),省去多次觸發(fā)和任務(wù)之間通信。
- 順序操作任務(wù)的劃分
- 若干功能按固定順序,相互之間沒(méi)有并發(fā)性,則將他們組合為一個(gè)任務(wù)。
任務(wù)劃分小結(jié):
- 以cpu為中心,將與各種輸入輸出設(shè)備相關(guān)的功能分別劃分為獨(dú)立任務(wù)。
- 關(guān)鍵功能,將最關(guān)鍵的部分剝離出來(lái),用一個(gè)獨(dú)立任務(wù)(或ISR)完成,剩余用另外一個(gè)任務(wù)實(shí)現(xiàn),兩者用通信機(jī)制溝通。
- 緊迫功能,將最關(guān)鍵的部分剝離出來(lái),用一個(gè)獨(dú)立高優(yōu)先級(jí)任務(wù)(或ISR)完成,剩余用另外一個(gè)任務(wù)實(shí)現(xiàn),兩者用通信機(jī)制溝通。
- 又關(guān)鍵又緊迫的,按緊迫處理。
- 消耗時(shí)間多的數(shù)據(jù)處理功能,為低優(yōu)先級(jí)。
- 關(guān)系密切的組合為一個(gè)任務(wù),達(dá)到功能聚合。
- 有相同事件觸發(fā)的,組合一個(gè)。
- 運(yùn)行周期相同的組合一個(gè)。
- 按固定順序執(zhí)行的組合一個(gè),避免同步接力麻煩。
|
|