黃姝娟,劉白林,張 雅,茹 媛
(西安工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 西安 710021)
時(shí)間/事件觸發(fā)的安全關(guān)鍵系統(tǒng)調(diào)度研究
黃姝娟,劉白林,張 雅,茹 媛
(西安工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 西安 710021)
針對(duì)大多數(shù)實(shí)時(shí)操作系統(tǒng)只支持事件觸發(fā)的機(jī)制,該文提出了一種時(shí)間和事件雙重觸發(fā)的任務(wù)調(diào)度機(jī)制,并在μC/OS-II的內(nèi)核中進(jìn)行了實(shí)現(xiàn)。在該調(diào)度機(jī)制中,針對(duì)安全關(guān)鍵任務(wù)模型,提出了一種簡(jiǎn)單、易操作的基于關(guān)鍵度(criticality degree based priority, CDBP)的調(diào)度算法,該算法不僅保證了系統(tǒng)處于高級(jí)別時(shí),高關(guān)鍵級(jí)別任務(wù)的執(zhí)行,而且還保證了系統(tǒng)處于低級(jí)別時(shí)緊急任務(wù)的執(zhí)行,同時(shí)減少了不必要的任務(wù)切換開(kāi)銷(xiāo)。實(shí)驗(yàn)結(jié)果表明,該算法在提高系統(tǒng)效率方面優(yōu)于OCBP(own criticality based priority)算法。
嵌入式系統(tǒng); 事件觸發(fā); 混合關(guān)鍵; 調(diào)度算法; 時(shí)間觸發(fā)
時(shí)間或事件觸發(fā)作為操作系統(tǒng)設(shè)計(jì)的主流思想在很多領(lǐng)域中得到了廣泛應(yīng)用[1],然而在航空、航天等領(lǐng)域,由于系統(tǒng)的高可靠性與硬實(shí)時(shí)性要求,單純的事件觸發(fā)方式無(wú)論在設(shè)計(jì)還是維護(hù)方面都存在較大困難[2]。而時(shí)間觸發(fā)方式在某種程度上會(huì)降低系統(tǒng)的靈活性,難以滿足系統(tǒng)需求。尤其在安全關(guān)鍵系統(tǒng)中,為了保證安全關(guān)鍵任務(wù)執(zhí)行的可靠性和確定性,以及整個(gè)系統(tǒng)的資源利用率,需要在完成時(shí)間觸發(fā)任務(wù)的同時(shí),支持事件觸發(fā)任務(wù)[3]。
時(shí)間觸發(fā)的操作系統(tǒng)通常按照時(shí)間順序分配時(shí)間槽來(lái)調(diào)度實(shí)時(shí)任務(wù)。文獻(xiàn)[4]提出了一種改進(jìn)型的Slot-shifting算法,在為時(shí)間觸發(fā)任務(wù)預(yù)留時(shí)間槽的基礎(chǔ)上,為事件觸發(fā)任務(wù)動(dòng)態(tài)分配執(zhí)行時(shí)間。當(dāng)預(yù)留給時(shí)間觸發(fā)任務(wù)的時(shí)間槽沒(méi)有用完時(shí),剩下的部分可以分配給事件觸發(fā)的任務(wù);時(shí)間觸發(fā)任務(wù)的執(zhí)行時(shí)間還可以在預(yù)先定義的時(shí)間和離線計(jì)算的時(shí)間間隔內(nèi)前后移動(dòng),以此來(lái)提高任務(wù)調(diào)度的靈活性。然而,這種方法的任務(wù)可調(diào)度性分析高度復(fù)雜,系統(tǒng)實(shí)現(xiàn)很困難。文獻(xiàn)[5]為了在靜態(tài)調(diào)度中適當(dāng)安排事件觸發(fā)任務(wù),提出了一種輪詢的方式在固定的時(shí)間點(diǎn)為事件觸發(fā)任務(wù)分配時(shí)間。文獻(xiàn)[6]和文獻(xiàn)[7]分別提出了基于“super loop”和“Sandwich Delay”的時(shí)間觸發(fā)合作式調(diào)度機(jī)制,可以加強(qiáng)系統(tǒng)的確定性并提高系統(tǒng)利用率,但對(duì)于非搶占式內(nèi)核顯然會(huì)降低系統(tǒng)的靈活性,且對(duì)安全關(guān)鍵任務(wù)的支持不夠。文獻(xiàn)[8]以時(shí)間觸發(fā)總線和時(shí)間觸發(fā)協(xié)議為基礎(chǔ),研究了計(jì)算機(jī)系統(tǒng)架構(gòu),探討了時(shí)間觸發(fā)操作系統(tǒng)的特點(diǎn)。文獻(xiàn)[9]通過(guò)對(duì)μC/OS-II操作系統(tǒng)的內(nèi)核進(jìn)行擴(kuò)展,在μC/OS-II的任務(wù)管理機(jī)制中增加了對(duì)時(shí)間觸發(fā)任務(wù)的支持。系統(tǒng)主要根據(jù)預(yù)先安排的時(shí)間槽進(jìn)行時(shí)間觸發(fā)任務(wù)的調(diào)度,在空閑時(shí)刻進(jìn)行基于原μC/OS-II系統(tǒng)的事件觸發(fā)任務(wù)的調(diào)度。這種設(shè)計(jì)很好地解決了時(shí)間/事件混合觸發(fā)機(jī)制的問(wèn)題,但是這種擴(kuò)展只在時(shí)鐘中斷時(shí)進(jìn)行時(shí)間/事件觸發(fā)任務(wù)的切換,且時(shí)間觸發(fā)任務(wù)被搶占后只能在下一調(diào)度周期才能恢復(fù),系統(tǒng)利用率較低。
本文基于文獻(xiàn)[9]設(shè)計(jì)了一種新的任務(wù)調(diào)度機(jī)制,將時(shí)間調(diào)度機(jī)制融入到μC/OS-II中,提出一種CDBP的調(diào)度算法,不僅滿足了時(shí)間和事件雙重觸發(fā)的任務(wù),而且利用任務(wù)結(jié)束到時(shí)鐘中斷之間的時(shí)間來(lái)處理事件觸發(fā)任務(wù),提高了系統(tǒng)的利用率,保證了安全關(guān)鍵任務(wù)的執(zhí)行。
時(shí)間/事件雙重觸發(fā)系統(tǒng)要求能夠同時(shí)支持TT(time triggered)任務(wù)和ET(event triggered)任務(wù)。為此,將系統(tǒng)調(diào)度器設(shè)計(jì)為時(shí)間觸發(fā)調(diào)度模塊和事件觸發(fā)調(diào)度模塊兩大部分,并以時(shí)間觸發(fā)調(diào)度部分為上層主要模塊,事件觸發(fā)調(diào)度部分為下層基礎(chǔ)模塊劃分為層次性架構(gòu)。當(dāng)系統(tǒng)只有TT任務(wù)而沒(méi)有ET任務(wù)時(shí),系統(tǒng)調(diào)度器則可以關(guān)閉ET任務(wù)調(diào)度,在空閑時(shí)間執(zhí)行Idle任務(wù)。
調(diào)度器作為系統(tǒng)內(nèi)核的主要部分,時(shí)間觸發(fā)模塊和事件觸發(fā)模塊都向上提供系統(tǒng)服務(wù)API,向下都能和硬件通信交互。時(shí)間觸發(fā)模塊包括TT任務(wù)間的同步與通信、中斷管理以及任務(wù)超時(shí)等錯(cuò)誤處理。事件觸發(fā)模塊包括ET任務(wù)間的同步與通信、中斷管理、資源管理、內(nèi)存管理與警報(bào)等。系統(tǒng)調(diào)度器原型如圖1所示。
圖1 時(shí)間/事件雙重觸發(fā)系統(tǒng)調(diào)度器原型
3.1 安全關(guān)鍵任務(wù)模型設(shè)計(jì)
安全關(guān)鍵系統(tǒng)中的任務(wù)具有4個(gè)重要屬性:發(fā)布時(shí)間、時(shí)限、關(guān)鍵級(jí)別和最壞執(zhí)行時(shí)間。其中最壞執(zhí)行時(shí)間是1個(gè)多維向量,向量值與任務(wù)的關(guān)鍵級(jí)別相關(guān),各元素表示任務(wù)在各個(gè)級(jí)別下的最壞執(zhí)行時(shí)間[10]。下面對(duì)多關(guān)鍵級(jí)別的安全關(guān)鍵任務(wù)模型進(jìn)行形式化的定義。
定義 1 在1個(gè)有K個(gè)關(guān)鍵級(jí)別的安全關(guān)鍵系統(tǒng)中,關(guān)鍵級(jí)別最低為1,最高為K,任務(wù)表示為Ji,則有Ji=(Xi,Ai, Di,Ci)。其中,Xi表示任務(wù)Ji的關(guān)鍵級(jí)別;iA表示任務(wù)的發(fā)布時(shí)間;Di表示任務(wù)的時(shí)限;Ci表示任務(wù)的最壞執(zhí)行時(shí)間,Ci是一個(gè)向量,Ci=(Ci(1),Ci(2),…,Ci(K )),Ci(1)表示任務(wù)Ji在關(guān)鍵級(jí)別為1時(shí)的最壞執(zhí)行時(shí)間,Ci(2)表示任務(wù)Ji在關(guān)鍵級(jí)別為2時(shí)的最壞執(zhí)行時(shí)間,Ci(K )表示任務(wù)Ji在關(guān)鍵級(jí)別為K時(shí)的最壞執(zhí)行時(shí)間。若K>Xi時(shí),有Ci(K)=Ci(Xi)。本文的方法是基于狀態(tài)切換的,研究的對(duì)象只限定在兩個(gè)關(guān)鍵級(jí)別的系統(tǒng)中,即任務(wù)只具有一高一低兩種安全關(guān)鍵級(jí)別。在一個(gè)具有2個(gè)關(guān)鍵級(jí)別的系統(tǒng)中,低關(guān)鍵級(jí)別為1,高關(guān)鍵級(jí)別為2,任務(wù)表示為Ji=(Xi,Ai, Di, Ci(1),Ci(2))。
設(shè)想系統(tǒng)中有兩個(gè)任務(wù),其中J1的關(guān)鍵級(jí)別為1,J2的關(guān)鍵級(jí)別為2。當(dāng)系統(tǒng)處于1級(jí)關(guān)鍵級(jí)別而J2未能在C2(1)時(shí)間內(nèi)執(zhí)行完時(shí),系統(tǒng)會(huì)提升至2級(jí)關(guān)鍵級(jí)別,以保證J2在C2(2)時(shí)間內(nèi)能完成執(zhí)行,這時(shí)J1的執(zhí)行情況則不再重要。因此,對(duì)于低關(guān)鍵級(jí)別的任務(wù)J1來(lái)說(shuō),系統(tǒng)不會(huì)允許它的執(zhí)行時(shí)間超過(guò)C1(1)。
上述筆者分析了現(xiàn)階段我國(guó)企業(yè)財(cái)務(wù)內(nèi)控精細(xì)化管理當(dāng)中存在的一系列的問(wèn)題,為了提高企業(yè)財(cái)務(wù)管理和企業(yè)整體的經(jīng)營(yíng)管理水平,有必要對(duì)財(cái)務(wù)內(nèi)控精細(xì)化管理工作進(jìn)行強(qiáng)化和改善,如此才能有效促進(jìn)企業(yè)在行業(yè)發(fā)展當(dāng)中獲得更多、更好的發(fā)展,促進(jìn)企業(yè)經(jīng)濟(jì)效益提高。下面將對(duì)強(qiáng)化企業(yè)財(cái)務(wù)內(nèi)控精細(xì)化管理的要點(diǎn)進(jìn)行分析。
由上述分析,可以得出兩點(diǎn)結(jié)論:
1) 對(duì)于所有的任務(wù)Ji,都有Ci(2)≥Ci(1);
2) 如果任務(wù)Ji的Xi= 1,那么Ci(2)=Ci(1)。
對(duì)于兩級(jí)安全關(guān)鍵任務(wù)的系統(tǒng)I,需要設(shè)計(jì)關(guān)鍵級(jí)別不同的兩張調(diào)度表,低關(guān)鍵級(jí)別狀態(tài)下的S1和高關(guān)鍵級(jí)別狀態(tài)下的S2。兩張調(diào)度表的時(shí)間均從第一個(gè)任務(wù)的發(fā)布時(shí)間開(kāi)始,到最后一個(gè)任務(wù)的時(shí)限結(jié)束,即[minJi∈I{Ai},maxJi∈I{Di}]。對(duì)于任意時(shí)刻t∈[minJi∈I{Ai},maxJi∈I{Di}],S1(t)和S2(t)分別表示調(diào)度表中t時(shí)刻應(yīng)該運(yùn)行的任務(wù)。在系統(tǒng)運(yùn)行過(guò)程中,對(duì)任務(wù)的調(diào)度執(zhí)行遵循下列規(guī)則:
1) 系統(tǒng)當(dāng)前所處的關(guān)鍵級(jí)別用Γ表示,而系統(tǒng)剛開(kāi)始運(yùn)行時(shí),Γ=1。
2) 當(dāng)Γ=1時(shí),在每一時(shí)刻t,任務(wù)Si(t)執(zhí)行。
如果當(dāng)前運(yùn)行的任務(wù)Ji在Ci(1)時(shí)刻還未結(jié)束,那么系統(tǒng)在低關(guān)鍵級(jí)別下的調(diào)度表已經(jīng)無(wú)法按計(jì)劃完成了,這時(shí)系統(tǒng)需要提升關(guān)鍵級(jí)別,令Γ=2,也就是說(shuō)此時(shí)將進(jìn)行狀態(tài)切換。
3) 當(dāng)Γ=2時(shí),在每一時(shí)刻t,任務(wù)S2(t)執(zhí)行。
如果對(duì)于兩級(jí)安全關(guān)鍵任務(wù)系統(tǒng)I,能設(shè)計(jì)出滿足上述規(guī)則的兩張調(diào)度表S1和S2,則說(shuō)I是時(shí)間觸發(fā)可調(diào)度的(TT schedulable)[11]。
現(xiàn)有一個(gè)兩級(jí)混合關(guān)鍵系統(tǒng)I,系統(tǒng)中有3個(gè)任務(wù),其相關(guān)屬性如表1所示。
對(duì)于這個(gè)安全關(guān)鍵系統(tǒng)來(lái)說(shuō),圖2為一種可行的任務(wù)調(diào)度表。開(kāi)始系統(tǒng)處于低關(guān)鍵級(jí)別,根據(jù)調(diào)度表S1來(lái)進(jìn)行任務(wù)調(diào)度:時(shí)刻0,任務(wù)J1到達(dá),即可觸發(fā)調(diào)度器進(jìn)行調(diào)度;時(shí)刻1,任務(wù)J2觸發(fā),此時(shí)任務(wù)J1尚未執(zhí)行完畢即被J2搶占,J2開(kāi)始執(zhí)行;時(shí)刻2,任務(wù)J3觸發(fā),如果J2完成執(zhí)行(即J2運(yùn)行時(shí)間小于等于C2(1)),那么J3即可按時(shí)執(zhí)行;到時(shí)刻3,當(dāng)J3執(zhí)行完時(shí),此時(shí)系統(tǒng)處于空閑,可恢復(fù)之前因被搶占而掛起的任務(wù)J1。所有任務(wù)均正常執(zhí)行,沒(méi)有超過(guò)時(shí)限。
表1 示例任務(wù)屬性表
這是系統(tǒng)運(yùn)行順利情況下的任務(wù)調(diào)度。如果到時(shí)刻2,J2運(yùn)行時(shí)間已等于低關(guān)鍵級(jí)別的最壞執(zhí)行時(shí)間C2(1),仍未執(zhí)行完時(shí),系統(tǒng)會(huì)將關(guān)鍵級(jí)別從1提升至2,并進(jìn)行狀態(tài)切換,調(diào)度器使用的調(diào)度表由S1切換到S2。J2會(huì)保持運(yùn)行直到時(shí)刻3。在系統(tǒng)處于高關(guān)鍵級(jí)別時(shí),不再對(duì)低關(guān)鍵級(jí)別的任務(wù)J3提供任何保障。到時(shí)刻3,J2運(yùn)行時(shí)間達(dá)到高關(guān)鍵級(jí)別下最壞執(zhí)行時(shí)間C2(2),完成運(yùn)行后,系統(tǒng)恢復(fù)之前因被搶占而掛起的任務(wù)J1。
圖2 示例任務(wù)調(diào)度表
3.2 調(diào)度表的創(chuàng)建
本文研究的是時(shí)間/事件觸發(fā)的安全關(guān)鍵任務(wù)的調(diào)度,時(shí)間觸發(fā)要求系統(tǒng)確定性好,使用資源預(yù)留的方法提前創(chuàng)建調(diào)度表,有利于提高系統(tǒng)的確定性。而事件觸發(fā)則希望調(diào)度過(guò)程可以發(fā)生任務(wù)搶占,以此來(lái)保證高關(guān)鍵級(jí)別任務(wù)和緊急任務(wù)。為此,本文研究的調(diào)度方法,將時(shí)間預(yù)留和優(yōu)先級(jí)搶占方法結(jié)合起來(lái)。創(chuàng)建調(diào)度表的時(shí)候首先根據(jù)任務(wù)在該級(jí)別下的最壞執(zhí)行時(shí)間,為各個(gè)任務(wù)分配好時(shí)間槽;然后再給各個(gè)任務(wù)分配優(yōu)先級(jí),允許高優(yōu)先級(jí)任務(wù)對(duì)低優(yōu)先級(jí)任務(wù)進(jìn)行搶占。
OCBP算法[12]的思想是如果調(diào)度可以順利進(jìn)行,每次找出剩余任務(wù)中優(yōu)先級(jí)最低的任務(wù),當(dāng)所有任務(wù)都被指派優(yōu)先級(jí)或者剩余的任務(wù)在當(dāng)前的優(yōu)先級(jí)都不能被調(diào)度時(shí),算法終止。該算法的缺陷有兩個(gè):一是任務(wù)分配過(guò)程中主要考慮任務(wù)的關(guān)鍵級(jí)別,與任務(wù)優(yōu)先級(jí)無(wú)關(guān);二是如果找不到最低優(yōu)先級(jí)任務(wù)時(shí),該算法就失敗了。而本文提出的CDBP算法則全面考慮了任務(wù)的關(guān)鍵級(jí)別和緊急程度,且調(diào)度表的創(chuàng)建不會(huì)因?yàn)檎也坏阶畹蛢?yōu)先級(jí)任務(wù)而終止。
定義 2 相對(duì)關(guān)鍵度iρ,是指在具有n個(gè)任務(wù)的系統(tǒng)I中,任務(wù)Ji相對(duì)于其他任務(wù)的關(guān)鍵級(jí)別的重要程度。用來(lái)表示,其中xi和xj是各任務(wù)在系統(tǒng)某個(gè)統(tǒng)一時(shí)刻的關(guān)鍵級(jí)別[13]。
假設(shè)系統(tǒng)中有4個(gè)任務(wù),關(guān)鍵級(jí)別分別為1,2, 1,2,則iρ分別為。
定義 3 關(guān)鍵額度iδ,是指在具有K個(gè)關(guān)鍵級(jí)別的系統(tǒng)I中,Ji當(dāng)前所處級(jí)別在當(dāng)前系統(tǒng)的關(guān)鍵級(jí)別k下所具有的關(guān)鍵份數(shù)。用來(lái)表示,其中xi是任務(wù)的當(dāng)前關(guān)鍵級(jí)別。假設(shè)系統(tǒng)中有兩個(gè)任務(wù)J1和J2,其中X1=1,X2=2,則K=2。當(dāng)系統(tǒng)關(guān)鍵級(jí)別k=1時(shí),任務(wù)J1和J2的當(dāng)前關(guān)鍵級(jí)別x1和x2也都是1,則;當(dāng)系統(tǒng)關(guān)鍵級(jí)別k=2時(shí),x1=1和x2=2,則,δ2=1。
定義 4 時(shí)限緊急度di是指任務(wù)時(shí)限的先后對(duì)任務(wù)的緊急程度的影響,用來(lái)表示。在同等情況下,時(shí)限更早到來(lái)的任務(wù)應(yīng)該具有更高的優(yōu)先級(jí)。
根據(jù)CDBP算法為任務(wù)分配優(yōu)先級(jí)的流程如圖3所示。
圖3 CDBP算法優(yōu)先級(jí)分配流程圖
在CDBP的算法中,在K關(guān)鍵級(jí)別下關(guān)鍵度越大的任務(wù)具有的優(yōu)先級(jí)越高。在兩個(gè)任務(wù)關(guān)鍵度相同的情況下,若系統(tǒng)處于低關(guān)鍵級(jí)別或者兩個(gè)任務(wù)的關(guān)鍵級(jí)別相同時(shí),時(shí)限越早的任務(wù)優(yōu)先級(jí)越高;若兩個(gè)任務(wù)關(guān)鍵級(jí)別不同且系統(tǒng)處于高關(guān)鍵級(jí)別,則關(guān)鍵級(jí)別高的任務(wù)優(yōu)先級(jí)高。
本文是在嵌入式應(yīng)用的開(kāi)發(fā)平臺(tái)Xilinx Virtex-5 FXT FPGA ML507上進(jìn)行的實(shí)驗(yàn),所設(shè)計(jì)的調(diào)度器也最終移植到該平臺(tái)上進(jìn)行了測(cè)試。
測(cè)試用例任務(wù)集有3個(gè)ET任務(wù)和4個(gè)時(shí)間觸發(fā)的安全關(guān)鍵任務(wù),其中ttTask2和ttTask4是高安全關(guān)鍵級(jí)別任務(wù),ttTask1和ttTask3是低關(guān)鍵級(jí)別任務(wù)。圖4和圖5顯示了往ttTask2添加額外負(fù)載前后的運(yùn)行情況對(duì)比,從圖中可看出,開(kāi)始ttTask2能夠在低關(guān)鍵級(jí)別下的1個(gè)單位的時(shí)間內(nèi)執(zhí)行完畢,添加額外負(fù)載后,ttTask2無(wú)法按時(shí)完成,這時(shí)為了保證ttTask2能正常執(zhí)行完,系統(tǒng)提升關(guān)鍵級(jí)別,ttTask1和ttTask3的執(zhí)行不再得到保證,最終系統(tǒng)保證ttTask2、ttTask4和etTask1、etTask2、etTask3順利執(zhí)行完畢。該實(shí)驗(yàn)說(shuō)明實(shí)現(xiàn)的多級(jí)調(diào)度表達(dá)到了設(shè)計(jì)要求,調(diào)度表成功切換,為高關(guān)鍵級(jí)別任務(wù)提供了保障。
圖4 低關(guān)鍵級(jí)別調(diào)度示意圖
圖5 高關(guān)鍵級(jí)別調(diào)度示意圖
[1] HEEMELS W, DONKERS M C F, TEEL A R. Periodic event-triggered control for linear systems[J]. IEEE Journal of Transactions on Automatic Control, 2013, 58(4): 847-861.
[2] KOPETZ H. The complexity challenge in embedded system design[C]//The 2008 IEEE 11th International Symposium on Object OrientedReal-Time Distributed Computing (ISORC). Orlando: IEEE Computer Society, 2008, 5: 3-12.
[3] MARTIJN M H P, BRIL R J, LUKKIEN J J, et al. RTOS support for mixed time-triggered and event-triggered task sets[C]//The 2012 IEEE 15th International Conference on Computational Science and Engineering. Washington, USA: IEEE Computer Society, 2012, 12: 578-585.
[4] BARUAH S K, BURNS A, DAVIS R I. Response-time analysis for mixed criticality systems[C]//The 2011 IEEE 32nd Real-Time Systems Symposium (RTSS). Vienna: IEEE Computer Society, 2011, 11: 34-43.
[5] THEIS J, FOHLER G. Transformation of sporadic tasks for off-line scheduling with utilization and response time trade-offs[C]//The 19th Conference on Real-Time and Network Systems. Nantes, France: [s.n.], 2011, 9: 119-128.
[6] NAHAS M. Employing two ‘sandwich delay’ mechanisms to enhance predict-ability of embedded systems which use time-triggered co-operative architectures[J]. Journal of Software Engineering and Applications, 2011, 4(7): 411-417.
[7] PONT M J, KURIAN S, BAUTISTA Q R. Meeting realtime constraints using “Sandwich Delays”[M]. Lecture Notes in Computer Science, 2009(5770): 94-102.
[8] 蘇羅輝, 牛萌, 劉坤. 時(shí)間觸發(fā)系統(tǒng)體系結(jié)構(gòu)研究[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2014, 35(6): 1956-1961.
SU Luo-hui, NIU Meng, LIU Kun. Study on time-triggered system architecture[J]. Computer Engineering and Design, 2014, 35(6): 1956-1961.
[9] 陳曦, 呂偉杰, 劉魯源. 事件/時(shí)間觸發(fā)嵌入式操作系統(tǒng)內(nèi)核的設(shè)計(jì)[J]. 計(jì)算機(jī)工程與應(yīng)用, 2009, 44(16): 87-89.
CHEN Xi, Lü Wei-jie, LIU Lu-yuan. Design of eventtriggered and time-triggered embedded operating system kernel[J]. Computer Engineer and Appllications, 2009, 44(16): 87-89.
[10] VESTAL S. Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance[C]//The IEEE 28th International on Real-Time Systems Symposium (RTSS). Washington, USA: IEEE Computer Society, 2007, 12: 239-243.
[11] BARUAH S, FOHLER G. Certification-cognizant timetriggered scheduling of mixed-criticality systems[C]//The 2011 IEEE 32nd Real-Time Systems Symposium (RTSS). Vinenna:IEEE Computer Society, 2011, 11: 3-12.
[12] GU C, GUAN N, DENG Q, et al. Improving OCBP-based scheduling for mixed-criticality sporadic task systems[C]// The 2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA). Seoul: IEEE Computer Society, 2013, 10: 247-256.
[13] 朱怡安, 黃姝娟, 段俊花, 等. 新的混合關(guān)鍵任務(wù)調(diào)度算法的研究[J]. 電子科技大學(xué)學(xué)報(bào), 2014, 43(2): 268-271.
ZHU Yi-an, HUANG Shu-juan, DUAN Jun-hua, et al. New scheduling algorithm for mixed-criticality real-time task sets[J]. Journal of University of Electronic Science and Technology of China, 2014, 43(2): 268-271.
編 輯 蔣 曉
Study on Scheduling Mechanism in Time-Triggered and Event-Triggered Safety Critical System
HUANG Shu-juan, LIU Bai-lin, ZHANG Ya, and RU Yuan
(School of Computer Science and Engineering, Xi’an Technological University Xi’an 710021)
For most real-time operating systems, only the event-triggered mechanism is supported. This paper proposes a scheduling mechanism which can support not only time-triggered but also event-triggered tasks in μC/OS-II. For safety critical tasks in this embedded system, a simple and easy scheduling algorithm is also presented based on criticality degree based priority (CDBP). This algorithm ensures the execution of the emergency tasks at a low level and the execution of the higher critical tasks at the high level while reducing the unnecessary task switching overhead. Experimental results show that the proposed algorithm is better than own criticality based priority(OCBP) algorithm in improving the system efficiency and provides better support for the criticality tasks and emergency tasks.
embedded system; event-triggered; mixed-criticality; scheduling algorithm; time-triggered
TP319
A
10.3969/j.issn.1001-0548.2017.03.025
2015 ? 12 ? 29;
2016 ? 09 ? 27
陜西省工業(yè)科技攻關(guān)項(xiàng)目(2015GY031)
黃姝娟(1975 ? ),女,博士,主要從事嵌入式與分布式計(jì)算方面的研究.