1.一種面向混合關鍵性實時系統的容錯任務調度方法,其特征在于,包括以下步驟:
(1)任務集模型建立;
(2)任務集預處理,就緒隊列置空;
(3)判斷就緒隊列以及系統的狀態;
(4)根據任務關鍵性執行任務;
(5)驗錯并判斷是否重執行;
(6)任務執行完畢,轉步驟(3)。
2.根據權利要求1所述的一種面向混合關鍵性實時系統的容錯任務調度方法,其特征在于,所述步驟(1)具體包括以下步驟:
步驟A1:雙關鍵任務集Γ模型的建立:
Γ={τ1,τ2,…,τi,…τn}
其中n為任務集Γ中相互獨立的實時周期性任務的個數;
步驟A2:雙關鍵任務τi模型的建立:
τi={Ti,Di,Ni,Li,Ci}
其中1≤i≤n,Ti為任務τi的周期,Di為任務τi的相對截止時間,Ni為任務τi在執行時可以被容忍的最大瞬時錯誤個數,Li∈{LO,HI}為任務τi的關鍵性,LO為低關鍵性,HI為高關鍵性,Ci為任務τi在最壞情況下的執行時間;
步驟A3:實時約束關系的建立:
其中Ci(LO)表示τi為低關鍵性任務時的最壞執行時間,Ci(HI)表示τi為高關鍵性任務時的最壞執行時間;
步驟A4:任務釋放時間約束關系的建立:
其中為任務τi的第k個作業
的釋放時間。
3.根據權利要求1所述的一種面向混合關鍵性實時系統的容錯任務調度方法,其特征在于,所述步驟(2)具體包括以下步驟:
步驟B1:低關鍵性任務子集LO(Γ)模型的建立:
LO(Γ)={τi∈Γ|Li=LO};
步驟B2:高關鍵性任務子集HI(Γ)模型的建立:
HI(Γ)={τi∈Γ|Li=HI};
步驟B3:任務執行次數γi模型的建立:
γi=2Ni+1;
步驟B4:任務虛擬截止時間模型的建立:
其中Δi是實際釋放時間和虛擬釋放時間的偏移量;
步驟B5:根據步驟B4對周期轉換技術(PT)進行改進,然后應用于任務集,進行預處理,可得到
步驟B6:建立就緒隊列Qready,并置空。
4.根據權利要求1所述的一種面向混合關鍵性實時系統的容錯任務調度方法,其特征在于,所述步驟(3)具體包括以下步驟:
步驟C1:把Γ′中釋放的任務加到就緒隊列Qready;
步驟C2:如果系統處于空閑狀態(State=idle)并且就緒隊列非空轉步驟C3;
否則轉步驟(2);
步驟C3:根據最小截止時間優先-虛擬截止時間(EDF-VD)算法將任務從Qready中出隊。
5.根據權利要求1所述的一種面向混合關鍵性實時系統的容錯任務調度方法,其特征在于,所述步驟(4)具體包括以下步驟:
步驟D1:低關鍵性任務子集LO(Γ)模型的建立:
LO(Г)={τi∈Г|Li=LO};
步驟D2:高關鍵性任務子集HI(Γ)模型的建立:
HI(Г)={τi∈Г|Li=HI};
步驟D3:判斷任務的關鍵性;
步驟D4:如果Li=HI,轉步驟D6;否則轉步驟D5;
步驟D5:執行轉步驟D6;
步驟D6:執行并利用fingerprint技術存儲任務執行情況,以用于故障檢驗。
6.根據權利要求1所述的一種面向混合關鍵性實時系統的容錯任務調度方法,其特征在于,所述步驟(5)具體包括以下步驟:
步驟E1:采用重執行方法的任務可靠性R(τi)模型的建立:
其中,λ為任務τi的平均到達錯誤率;
步驟E2:系統安全指標S(Г,H)模型的建立:
其中,超周期H是周期{T1,T2,…,Tn}的最小公倍數,是按時執行完的任務實例個數,
是任務實例總數;
步驟E3:采用重執行方法的任務集利用率U模型的建立:
其中,任務集利用率不能超過1,即U≤1;
步驟E4:根據記錄的任務執行情況,比較得到故障檢驗的結果
如果
是錯誤的,轉步驟E6。
步驟E5:從Qready出隊,轉步驟E6;
步驟E6:所有低關鍵性任務從Qready出隊并執行即存在錯誤需要重新執行。