1.一種基于實時系統(tǒng)的動態(tài)任務調度方法,其特征在于,針對系統(tǒng)所接收到的事件實現(xiàn)動態(tài)調度,包括如下步驟:
步驟001.判斷當前執(zhí)行事件的數(shù)量是否達到系統(tǒng)當前執(zhí)行任務數(shù)上限,是則進入步驟002,否則系統(tǒng)直接將所接收到的事件作為當前執(zhí)行事件進行執(zhí)行;
步驟002.判斷系統(tǒng)所接收到的事件為系統(tǒng)隨機事件或人工添加事件,若系統(tǒng)所接收到的事件是系統(tǒng)隨機事件,則進入步驟003;若系統(tǒng)所接收到的事件是人工添加事件,則定義人工添加事件的優(yōu)先級為最高優(yōu)先級,并進入步驟005;
步驟003.獲得系統(tǒng)所接收事件的優(yōu)先級,并判斷當前各執(zhí)行事件中,是否存在優(yōu)先級小于系統(tǒng)所接收事件優(yōu)先級的當前執(zhí)行事件,是則進入步驟005,否則進入步驟004;
步驟004.將系統(tǒng)所接收事件按優(yōu)先級降序順序排列在待執(zhí)行任務序列當中,動態(tài)調度結束;
步驟005.判斷優(yōu)先級小于系統(tǒng)所接收事件優(yōu)先級的各個當前執(zhí)行事件中,是否存在可中斷事件,是則進入步驟006,否則返回步驟004;
步驟006.針對優(yōu)先級小于系統(tǒng)所接收事件優(yōu)先級的各個當前執(zhí)行事件中的各個可中斷事件,暫停最小優(yōu)先級所對應的任意一個當前執(zhí)行事件,并將該當前執(zhí)行事件和該當前執(zhí)行事件的暫停節(jié)點進行保存,同時將系統(tǒng)所接收事件作為當前執(zhí)行事件進行執(zhí)行,并進入步驟007;
步驟007.待任意一個當前執(zhí)行事件完成執(zhí)行,然后判斷待執(zhí)行任務序列當中是否存在事件,是則進入步驟008;否則進入步驟009;
步驟008.判斷所保存暫停節(jié)點對應暫停事件的優(yōu)先級是否小于待執(zhí)行任務序列當中第一個事件的優(yōu)先級,是則將待執(zhí)行任務序列當中的第一個事件作為當前執(zhí)行事件進行執(zhí)行,并返回步驟007;否則將所保存執(zhí)行節(jié)點對應的暫停事件作為當前執(zhí)行事件,由執(zhí)行節(jié)點位置繼續(xù)執(zhí)行,同時刪除所保存的暫停節(jié)點,動態(tài)調度結束;
步驟009.將所保存執(zhí)行節(jié)點對應的暫停事件作為當前執(zhí)行事件,由執(zhí)行節(jié)點位置繼續(xù)執(zhí)行,同時刪除所保存的暫停節(jié)點,動態(tài)調度結束。
2.根據權利要求1所述一種基于實時系統(tǒng)的動態(tài)任務調度方法,其特征在于:當各個當前執(zhí)行事件出現(xiàn)變化后,針對所述各個當前執(zhí)行事件,按優(yōu)先級降序順序進行排序,獲得當前執(zhí)行事件排序,然后按當前執(zhí)行事件排序,依次為各個當前執(zhí)行事件遞減分配系統(tǒng)資源。
3.根據權利要求2所述一種基于實時系統(tǒng)的動態(tài)任務調度方法,其特征在于:針對當前執(zhí)行事件排序中優(yōu)先級相同的各個當前執(zhí)行事件,按剩余執(zhí)行時間升序順序進行排序,更新獲得當前執(zhí)行事件排序,然后按當前執(zhí)行事件排序,依次為各個當前執(zhí)行事件遞減分配系統(tǒng)資源。
4.根據權利要求1所述一種基于實時系統(tǒng)的動態(tài)任務調度方法,其特征在于:所述步驟004中,將系統(tǒng)所接收事件按優(yōu)先級降序順序排列在待執(zhí)行任務序列當中,且系統(tǒng)所接收事件位于待執(zhí)行任務序列當中相同優(yōu)先級的事件之后。
5.一種基于權利要求1至4中任意一項所述實時系統(tǒng)的動態(tài)任務調度方法的系統(tǒng),其特征在于,包括如下各單元:
接收單元:用于接收事件;
判優(yōu)單元:用于實現(xiàn)事件優(yōu)先級的比較;
隊列單元:用于實現(xiàn)事件的排序;
執(zhí)行單元:用于針對當前執(zhí)行事件進行執(zhí)行處理;
檢測單元:用于檢測執(zhí)行單元中當前執(zhí)行事件的數(shù)量,然后根據當前執(zhí)行事件的數(shù)量進行系統(tǒng)資源分配;
中斷存儲單元:用于存儲暫停事件和暫停事件的暫停節(jié)點,等待中斷恢復單元查找并恢復執(zhí)行;
中斷恢復單元:用于查找中斷存儲單元中暫停事件和暫停事件的節(jié)點,并用于恢復執(zhí)行暫停事件;
插入單元:用于實現(xiàn)接收事件向待執(zhí)行任務序列中的插入。