一種基于μC/OS-Ⅱ的高可靠實時系統(tǒng)內(nèi)核設(shè)計
發(fā)布時間:2021-04-14 08:11
基于μC/OS-II,設(shè)計并實現(xiàn)了一個高可靠的分區(qū)嵌入式操作系統(tǒng)內(nèi)核。為了保證高關(guān)鍵級別分區(qū)的執(zhí)行時間,提高系統(tǒng)可靠性,提出了一種新的周期執(zhí)行時間可變的分區(qū)調(diào)度算法,其能在保障高安全關(guān)鍵級別分區(qū)優(yōu)先執(zhí)行的同時提供較高的資源利用率和任務(wù)可調(diào)度性。采用了一種基于位運(yùn)算的訪問控制算法,其可保證系統(tǒng)的信息安全,提高系統(tǒng)的可靠性。最后,通過算法分析和實驗結(jié)果驗證了所提算法的有效性和實時性以及系統(tǒng)的可靠性。
【文章來源】:計算機(jī)科學(xué). 2016,43(S2)北大核心CSCD
【文章頁數(shù)】:6 頁
【部分圖文】:
圖1系統(tǒng)整體設(shè)計μC/OS-II原有的任務(wù)模型并不能滿足ARINC653對任
表3分區(qū)1的任務(wù)示例任務(wù)周期(ms)執(zhí)行時間(ms)12022804380448045804表4分區(qū)2的任務(wù)示例任務(wù)周期(ms)執(zhí)行時間(ms)140424083808圖4分區(qū)調(diào)度示意圖(2)簡單的防止關(guān)鍵級別反轉(zhuǎn)的算法:為了防止關(guān)鍵級別的反轉(zhuǎn),需要使高優(yōu)先級分區(qū)中的任務(wù)比低優(yōu)先級分區(qū)中的任務(wù)更早運(yùn)行,這可以通過給高優(yōu)先級分區(qū)預(yù)留足夠的運(yùn)行時間來實現(xiàn)。其算法如式(3)和式(4)所示。λj=u×pjmin(3)θj=λj-Iu(4)其中,Iu表示第u(1≤u≤Rj)個周期的剩余空閑時間。u是使得Iu>0或者Iu+1=0的最小值,而當(dāng)IRj=0時u=Rj。Iu的計算公式如式(5)所示。Iu=pjmin-∑ni=1(eji×fi)-Lu(5)fi代表任務(wù)Tji會或不會在當(dāng)前周期內(nèi)運(yùn)行,其在運(yùn)算時假設(shè)所有的任務(wù)都是在其周期一開始的時候就想要運(yùn)行。fi的計算如下:fi=1,pji=pjmin1,rmod(pjipjmin)=10,烅烄烆上述條件不成立(6)式(5)中的Lu則表示前一周其沒有運(yùn)行完的任務(wù)負(fù)載。之所以會有多余的任務(wù)負(fù)載并不是由于任務(wù)超過了死限時間,而是由計算fi時假設(shè)條件引起的。Lu的計算如下:Lu=0,u=1-Iu-1,Iu-1<00,Iu-1≥烅烄烆0(7)表3和表4中的分區(qū)由式(3)、式(4)可以
可滿足大多數(shù)實時嵌入式系統(tǒng)的要求。在任務(wù)運(yùn)行的過程中,如果任務(wù)運(yùn)行超過死限時間,則系統(tǒng)的健康監(jiān)控模塊就會調(diào)用相應(yīng)的錯誤處理程序,不同的錯誤和其處理程序之間的映射關(guān)系都體現(xiàn)在系統(tǒng)級、模塊級和分區(qū)級的3張健康監(jiān)控映射表中,在系統(tǒng)測試過程中注入的不同級別的多個錯誤均得到了正確的處理。表10時間參數(shù)參數(shù)名稱時間(μs)分區(qū)切換時間12.4任務(wù)切換時間3.2中斷響應(yīng)時間0.7為了驗證訪問控制算法的性能,測試了20個不同API在加入訪問控制前后的運(yùn)行時間,如圖7所示。加入訪問控制之后,平均運(yùn)行時間增加了0.12μs,各API增加時間的方差為1.84×10-6。因此可以看出,與文獻(xiàn)[8,9]的算法相比,本文提出的算法的執(zhí)行時間更穩(wěn)定,效率更高。圖7訪問控制時間對比(下轉(zhuǎn)第550頁)·546·
【參考文獻(xiàn)】:
期刊論文
[1]基于可變標(biāo)簽的訪問控制策略設(shè)計與實現(xiàn)[J]. 李大明,曹萬華,張煥. 計算機(jī)科學(xué). 2012(12)
[2]μC/OS-Ⅱ?qū)崟r內(nèi)核[J]. Jean J.Labrosse,江文瑞. 電子產(chǎn)品世界. 2007(04)
[3]基于任務(wù)的訪問控制模型[J]. 鄧集波,洪帆. 軟件學(xué)報. 2003(01)
碩士論文
[1]uC/OS-Ⅱ的安全訪問控制關(guān)鍵技術(shù)研究[D]. 崔可明.哈爾濱工程大學(xué) 2006
本文編號:3136985
【文章來源】:計算機(jī)科學(xué). 2016,43(S2)北大核心CSCD
【文章頁數(shù)】:6 頁
【部分圖文】:
圖1系統(tǒng)整體設(shè)計μC/OS-II原有的任務(wù)模型并不能滿足ARINC653對任
表3分區(qū)1的任務(wù)示例任務(wù)周期(ms)執(zhí)行時間(ms)12022804380448045804表4分區(qū)2的任務(wù)示例任務(wù)周期(ms)執(zhí)行時間(ms)140424083808圖4分區(qū)調(diào)度示意圖(2)簡單的防止關(guān)鍵級別反轉(zhuǎn)的算法:為了防止關(guān)鍵級別的反轉(zhuǎn),需要使高優(yōu)先級分區(qū)中的任務(wù)比低優(yōu)先級分區(qū)中的任務(wù)更早運(yùn)行,這可以通過給高優(yōu)先級分區(qū)預(yù)留足夠的運(yùn)行時間來實現(xiàn)。其算法如式(3)和式(4)所示。λj=u×pjmin(3)θj=λj-Iu(4)其中,Iu表示第u(1≤u≤Rj)個周期的剩余空閑時間。u是使得Iu>0或者Iu+1=0的最小值,而當(dāng)IRj=0時u=Rj。Iu的計算公式如式(5)所示。Iu=pjmin-∑ni=1(eji×fi)-Lu(5)fi代表任務(wù)Tji會或不會在當(dāng)前周期內(nèi)運(yùn)行,其在運(yùn)算時假設(shè)所有的任務(wù)都是在其周期一開始的時候就想要運(yùn)行。fi的計算如下:fi=1,pji=pjmin1,rmod(pjipjmin)=10,烅烄烆上述條件不成立(6)式(5)中的Lu則表示前一周其沒有運(yùn)行完的任務(wù)負(fù)載。之所以會有多余的任務(wù)負(fù)載并不是由于任務(wù)超過了死限時間,而是由計算fi時假設(shè)條件引起的。Lu的計算如下:Lu=0,u=1-Iu-1,Iu-1<00,Iu-1≥烅烄烆0(7)表3和表4中的分區(qū)由式(3)、式(4)可以
可滿足大多數(shù)實時嵌入式系統(tǒng)的要求。在任務(wù)運(yùn)行的過程中,如果任務(wù)運(yùn)行超過死限時間,則系統(tǒng)的健康監(jiān)控模塊就會調(diào)用相應(yīng)的錯誤處理程序,不同的錯誤和其處理程序之間的映射關(guān)系都體現(xiàn)在系統(tǒng)級、模塊級和分區(qū)級的3張健康監(jiān)控映射表中,在系統(tǒng)測試過程中注入的不同級別的多個錯誤均得到了正確的處理。表10時間參數(shù)參數(shù)名稱時間(μs)分區(qū)切換時間12.4任務(wù)切換時間3.2中斷響應(yīng)時間0.7為了驗證訪問控制算法的性能,測試了20個不同API在加入訪問控制前后的運(yùn)行時間,如圖7所示。加入訪問控制之后,平均運(yùn)行時間增加了0.12μs,各API增加時間的方差為1.84×10-6。因此可以看出,與文獻(xiàn)[8,9]的算法相比,本文提出的算法的執(zhí)行時間更穩(wěn)定,效率更高。圖7訪問控制時間對比(下轉(zhuǎn)第550頁)·546·
【參考文獻(xiàn)】:
期刊論文
[1]基于可變標(biāo)簽的訪問控制策略設(shè)計與實現(xiàn)[J]. 李大明,曹萬華,張煥. 計算機(jī)科學(xué). 2012(12)
[2]μC/OS-Ⅱ?qū)崟r內(nèi)核[J]. Jean J.Labrosse,江文瑞. 電子產(chǎn)品世界. 2007(04)
[3]基于任務(wù)的訪問控制模型[J]. 鄧集波,洪帆. 軟件學(xué)報. 2003(01)
碩士論文
[1]uC/OS-Ⅱ的安全訪問控制關(guān)鍵技術(shù)研究[D]. 崔可明.哈爾濱工程大學(xué) 2006
本文編號:3136985
本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/3136985.html
最近更新
教材專著