欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法及系統(tǒng)的制作方法

文檔序號:6440629閱讀:177來源:國知局
專利名稱:一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件容錯領(lǐng)域,特別是涉及一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法及系統(tǒng)。
背景技術(shù)
星載計算機工作于輻射環(huán)境復(fù)雜的外太空,受宇宙射線、范艾倫帶等空間例子輻射影響較大,這些因素都會導(dǎo)致航天器發(fā)生故障和出現(xiàn)錯誤的幾率成倍增長,因此,從軟件上對星載計算機進行加固是提高星載計算機的可靠性的重要方法。
μ C/0S-II自2. 52版本之后就通過了美國航空航天局(FAA)的安全認證,采用 μ C/0S-II作為星載實時操作系統(tǒng),可以應(yīng)用于航天器等對安全要求極為苛刻的系統(tǒng)中。相比其他操作系統(tǒng),μ C/0S-II具有公開源碼的優(yōu)勢,結(jié)構(gòu)小巧,具有RTOS微型核結(jié)構(gòu)。
通常采用的軟件容錯技術(shù)有檢查點恢復(fù)技術(shù)和冗余技術(shù),檢查點恢復(fù)技術(shù)是指系統(tǒng)發(fā)生故障后回卷到檢查點狀態(tài)重新執(zhí)行。然而,由于嵌入式環(huán)境下資源等因素的限制, 檢查點的保存規(guī)模和方式都必須進行不同于通用環(huán)境的考慮。因此可以看出,如何在μ C/ OS-II嵌入式系統(tǒng)中設(shè)置檢查點和并進行恢復(fù),是提高星載操作系統(tǒng)可靠性必須要考慮的問題。目前國內(nèi)外公開文檔中尚無這種技術(shù)的報道。
綜上所述,可知先前技術(shù)中存在無法在μ C/0S-II嵌入式系統(tǒng)中設(shè)置檢查點并進行恢復(fù)的問題,因此實有必要提出改進的技術(shù)手段,來解決此一問題。發(fā)明內(nèi)容
為克服上述現(xiàn)有技術(shù)存在的不足,本發(fā)明的主要目的在于提供一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法及系統(tǒng),其通過在文件系統(tǒng)的基礎(chǔ)上采用自行設(shè)計的檢查點保存和檢查點恢復(fù)方法,達到提高星載計算機可靠性的目的。
為達上述及其它目的,本發(fā)明提供一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法,包括如下步驟
對關(guān)鍵任務(wù)冗余執(zhí)行,對非關(guān)鍵任務(wù)進行分布處理;
根據(jù)執(zhí)行結(jié)果保存檢查點;以及
根據(jù)保存的檢查點進行檢查點恢復(fù)。
進一步地,該方法應(yīng)用于三模冗余系統(tǒng)中。
進一步地,該關(guān)鍵任務(wù)比該非關(guān)鍵任務(wù)具有較高優(yōu)先級。
進一步地,對該關(guān)鍵任務(wù)冗余執(zhí)行包括如下步驟
該關(guān)鍵任務(wù)完成其主要內(nèi)容;
調(diào)用表決函數(shù),利用通信函數(shù)對三個結(jié)點的中間結(jié)果進行表決;
判斷是否表決成功;
若表決不成功,則發(fā)送消息至消息郵箱;若表決成功,則比較當前任務(wù)優(yōu)先級是否與預(yù)留優(yōu)先級相同;
若相同,則把當前任務(wù)優(yōu)先級改為原優(yōu)先級;若不相同,則掛起該關(guān)鍵任務(wù)。
進一步地,在該非關(guān)鍵任務(wù)結(jié)束時,把其當前任務(wù)優(yōu)先級與預(yù)留優(yōu)先級比較;若相同,則把當前任務(wù)優(yōu)先級改為原優(yōu)先級。
進一步地,該檢查點保存的步驟包括如下步驟
獲得前一個任務(wù)的任務(wù)控制塊指針;
禁止任務(wù)調(diào)度,對任務(wù)調(diào)度加鎖;
判斷該任務(wù)是否是檢查點恢復(fù)任務(wù),若不是則向下執(zhí)行;
獲得該任務(wù)的棧頂指針;
把棧中保存的寄存器值寫入檢查點文件;
執(zhí)行堆棧檢查函數(shù),獲得堆棧實際使用的長度;
把棧中實際使用的項值寫入檢查點文件中;
恢復(fù)被保存的任務(wù)狀態(tài);
開啟任務(wù)調(diào)度,對任務(wù)調(diào)度開鎖;以及
掛起該任務(wù)。
進一步地,該檢查點恢復(fù)步驟包括如下步驟
獲得消息郵箱信息;
若獲得非零信息則向下執(zhí)行,否則任務(wù)一直處于掛起狀態(tài);
把待恢復(fù)任務(wù)放入準備隊列;
讀取該檢查點文件來恢復(fù)任務(wù)堆棧內(nèi)容;以及
恢復(fù)任務(wù)寄存器值。
進一步地,該關(guān)鍵任務(wù)與該非關(guān)鍵任務(wù)的次序預(yù)先寫定。
進一步地,該星載實時操作系統(tǒng)為μ C/0S-II嵌入式系統(tǒng)。
為達到上述及其他目的,本發(fā)明提供一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯系統(tǒng),至少包括
文件系統(tǒng);
檢查點記錄模塊,用于記錄并保存檢查點;
檢查點恢復(fù)模塊,用于根據(jù)保存的檢查點執(zhí)行檢查點恢復(fù)任務(wù);
表決模塊,包含表決函數(shù),用于利用該表決函數(shù)對三個節(jié)點的中間結(jié)果進行表決; 以及
通信模塊,利用通信函數(shù)進行通信。
與現(xiàn)有技術(shù)相比,本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法及系統(tǒng)通過在文件系統(tǒng)的基礎(chǔ)上采用自行設(shè)計的檢查點保存和檢查點恢復(fù)方法,達到了提高星載計算機可靠性的目的。


圖1為本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯系統(tǒng)所應(yīng)用之系統(tǒng)邏輯框圖2為本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法之步驟流程圖3為本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法之較佳實施例中執(zhí)行關(guān)鍵任務(wù)的流程圖4為本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法之較佳實施例中檢查點保存步驟的流程圖5為本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法之較佳實施例中檢查點恢復(fù)步驟的流程圖。
具體實施方式
以下通過特定的具體實例并結(jié)合

本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭示的內(nèi)容輕易地了解本發(fā)明的其它優(yōu)點與功效。本發(fā)明亦可通過其它不同的具體實例加以施行或應(yīng)用,本說明書中的各項細節(jié)亦可基于不同觀點與應(yīng)用,在不背離本發(fā)明的精神下進行各種修飾與變更。
圖1為本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯系統(tǒng)所應(yīng)用之系統(tǒng)邏輯框圖。本發(fā)明之星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯系統(tǒng)應(yīng)用于一套三模冗余(TMR, triple modular redundancy)系統(tǒng)中,在文件系統(tǒng)的基礎(chǔ)上采用自行設(shè)計的檢查點保存和檢查點恢復(fù)方法,以達到提高可靠性的目的。該星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯系統(tǒng)所應(yīng)用的系統(tǒng)包括硬件層(Hardware)、移植接口層(Porting interface)、操作系統(tǒng)層 (OS)、容錯軟件層(FT Software)以及應(yīng)用層(Application),其中本發(fā)明之容錯系統(tǒng)工作于容錯軟件層,其工作于硬件層的嵌入式軟核上,即CPU包含三個嵌入式軟核,在本發(fā)明較佳實施例中,硬件層的嵌入式軟核以Xilinx公司的MicroBlaze嵌入式軟核為例,三個結(jié)點各有一個microblaze嵌入式軟核,硬件層的其他的硬件包括計時器(Timer)、中斷控制器 (Interrupt controller)、通信總線(Communication bus)禾口閃存(flash)等;移植接口層 (Porting interface)是要根據(jù)處理器類型修改一些處理器相關(guān)代碼,使操作系統(tǒng)(OS)能運行于microblaze嵌入式軟核上;操作系統(tǒng)(OS)層包括了操作系統(tǒng)必須要包含的功能,在此,為了達到精簡的目的,本發(fā)明根據(jù)需求對內(nèi)核進行了裁剪,保留了一些相關(guān)功能;容錯軟件層(FT Software)即包括本發(fā)明之星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯系統(tǒng),用于對本節(jié)點的應(yīng)用任務(wù)進行監(jiān)測,其至少包括檢查點記錄模塊11、檢查點恢復(fù)模塊12、表決模塊13、文件系統(tǒng)14和通信模塊15
其中檢查點記錄模塊11用于記錄并保存檢查點;檢查點恢復(fù)模塊12用于根據(jù)保存的檢查點執(zhí)行檢查點恢復(fù)任務(wù);表決模塊13包含表決函數(shù),用于對三個節(jié)點的中間結(jié)果進行表決;通信模塊15,利用通信函數(shù)進行通信。
圖2為本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法之步驟流程圖。在本發(fā)明較佳實施例中,星載實時操作系統(tǒng)為uC/OS-II操作系統(tǒng),任務(wù)分為關(guān)鍵任務(wù)及非關(guān)鍵任務(wù),該星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法包括如下步驟
步驟201,對關(guān)鍵任務(wù)冗余執(zhí)行,對非關(guān)鍵任務(wù)進行分布處理,其中關(guān)鍵任務(wù)具有較高優(yōu)先級,關(guān)鍵任務(wù)與非關(guān)鍵任務(wù)的次序是已寫定的;
步驟202,檢查點保存;以及
步驟203,檢查點恢復(fù)。
圖3為本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法之較佳實施例中執(zhí)行關(guān)鍵任務(wù)的流程圖。在步驟300,任務(wù)完成其主要內(nèi)容;在步驟301,調(diào)用表決函數(shù),利用通信函數(shù)對三個結(jié)點的中間結(jié)果進行表決;在步驟302,判斷是否表決成功,若成功則轉(zhuǎn)到步驟304,若不成功則轉(zhuǎn)到步驟303 ;在步驟303,發(fā)送消息到消息郵箱;在步驟304,比較當前任務(wù)優(yōu)先級是否與預(yù)留優(yōu)先級相同,若相同則說明經(jīng)歷了檢查點保存對優(yōu)先級的修改,則需要轉(zhuǎn)到步驟305,把優(yōu)先級修改為原優(yōu)先級;若不相同則轉(zhuǎn)到步驟306 ;在步驟206, 掛起該任務(wù),任務(wù)進入掛起狀態(tài)。
而對于非關(guān)鍵任務(wù)的分布處理,在本發(fā)明較佳實施例中,則是在其任務(wù)結(jié)束時,把當前任務(wù)優(yōu)先級與預(yù)留優(yōu)先級比較,若相同,則說明歷了檢查點保存對優(yōu)先級的修改,則把優(yōu)先級改為原優(yōu)先級。
圖4為本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法之較佳實施例中檢查點保存步驟的流程圖。在本發(fā)明較佳實施例中,μ C/0S-II的任務(wù)上下文保存在任務(wù)控制塊TCB(Task Control Block)當中,其中,任務(wù)的上下文包括任務(wù)的執(zhí)行點(程序計數(shù)器)、cpu寄存器、臨時變量、和任務(wù)棧、任務(wù)選項、任務(wù)延時等內(nèi)容;單個任務(wù)卷回的情況下,利用任務(wù)TCB可以獲得任務(wù)棧頂指針;每隔一定時間,檢查點保存任務(wù)剝奪掉當前任務(wù),當前任務(wù)現(xiàn)場被保存在自身的TCB中,檢查點保存函數(shù)通過棧頂指針獲得任務(wù)的執(zhí)行信息,如寄存器值、堆棧內(nèi)容等;將對應(yīng)的堆棧內(nèi)容寫入檢查點文件;恢復(fù)前一被搶占的任務(wù)狀態(tài),為保證這一過程的進行,需要把被搶占任務(wù)優(yōu)先級設(shè)為“預(yù)留優(yōu)先級”,通過提高其優(yōu)先級來保證任務(wù)的執(zhí)行順序。更具體地說,如圖4所示,在步驟400,獲得前一個任務(wù)的 0S_TCB指針。在步驟401,禁止任務(wù)調(diào)度,對任務(wù)調(diào)度加鎖;在步驟402,判斷該任務(wù)是否是檢查點恢復(fù)任務(wù),若不是則向下執(zhí)行;在步驟403中,獲得該任務(wù)的棧頂指針;在步驟404 中,把棧中保存的寄存器值寫入檢查點文件;在步驟405中,執(zhí)行堆棧檢查函數(shù),獲得堆棧實際使用的長度,這一步驟是為了節(jié)省現(xiàn)場保存規(guī)模;在步驟406中,把棧中實際使用的項值寫入檢查點文件中;在步驟407中,恢復(fù)被保存的任務(wù)狀態(tài);在步驟408中,開啟任務(wù)調(diào)度,對任務(wù)調(diào)度開鎖;在步驟409中,掛起該任務(wù)。
圖5為本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法之較佳實施例中檢查點恢復(fù)步驟的流程圖。在步驟500中,獲得消息郵箱信息,若獲得非零信息則向下執(zhí)行,否則任務(wù)一直處于掛起狀態(tài);在步驟501中,把待恢復(fù)任務(wù)放入準備(ready)隊列;在步驟502中,讀檢查點文件來恢復(fù)任務(wù)堆棧內(nèi)容;在步驟503中,恢復(fù)任務(wù)寄存器值。
可見,本發(fā)明一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法及系統(tǒng)通過在文件系統(tǒng)的基礎(chǔ)上采用自行設(shè)計的檢查點保存和檢查點恢復(fù)方法,達到了提高星載計算機可靠性的目的。
上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何本領(lǐng)域技術(shù)人員均可在不違背本發(fā)明的精神及范疇下,對上述實施例進行修飾與改變。因此, 本發(fā)明的權(quán)利保護范圍,應(yīng)如權(quán)利要求書所列。
權(quán)利要求
1.一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法,包括如下步驟 對關(guān)鍵任務(wù)冗余執(zhí)行,對非關(guān)鍵任務(wù)進行分布處理;根據(jù)執(zhí)行結(jié)果保存檢查點;以及根據(jù)保存的檢查點進行檢查點恢復(fù)。
2.如權(quán)利要求1所述的星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法,其特征在于該方法應(yīng)用于三模冗余系統(tǒng)中。
3.如權(quán)利要求2所述的星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法,其特征在于該關(guān)鍵任務(wù)比該非關(guān)鍵任務(wù)具有較高優(yōu)先級。
4.如權(quán)利要求3所述的星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法,其特征在于,對該關(guān)鍵任務(wù)冗余執(zhí)行包括如下步驟該關(guān)鍵任務(wù)完成其主要內(nèi)容;調(diào)用表決函數(shù),利用通信函數(shù)對三個結(jié)點的中間結(jié)果進行表決; 判斷是否表決成功;若表決不成功,則發(fā)送消息至消息郵箱;若表決成功,則比較當前任務(wù)優(yōu)先級是否與預(yù)留優(yōu)先級相同;若相同,則把當前任務(wù)優(yōu)先級改為原優(yōu)先級;若不相同,則掛起該關(guān)鍵任務(wù)。
5.如權(quán)利要求4所述的星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法,其特征在于在該非關(guān)鍵任務(wù)結(jié)束時,把其當前任務(wù)優(yōu)先級與預(yù)留優(yōu)先級比較;若相同,則把當前任務(wù)優(yōu)先級改為原優(yōu)先級。
6.如權(quán)利要求5所述的星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法,其特征在于,該檢查點保存的步驟包括如下步驟獲得前一個任務(wù)的任務(wù)控制塊指針;禁止任務(wù)調(diào)度,對任務(wù)調(diào)度加鎖;判斷該任務(wù)是否是檢查點恢復(fù)任務(wù),若不是則向下執(zhí)行;獲得該任務(wù)的棧頂指針;把棧中保存的寄存器值寫入檢查點文件;執(zhí)行堆棧檢查函數(shù),獲得堆棧實際使用的長度;把棧中實際使用的項值寫入檢查點文件中;恢復(fù)被保存的任務(wù)狀態(tài);開啟任務(wù)調(diào)度,對任務(wù)調(diào)度開鎖;以及掛起該任務(wù)。
7.如權(quán)利要求6所述的星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法,其特征在于,該檢查點恢復(fù)步驟包括如下步驟獲得消息郵箱信息;若獲得非零信息則向下執(zhí)行,否則任務(wù)一直處于掛起狀態(tài); 把待恢復(fù)任務(wù)放入準備隊列; 讀取該檢查點文件來恢復(fù)任務(wù)堆棧內(nèi)容;以及恢復(fù)任務(wù)寄存器值。
8.如權(quán)利要求1所述的星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法,其特征在于該關(guān)鍵任務(wù)與該非關(guān)鍵任務(wù)的次序預(yù)先寫定。
9.如權(quán)利要求1所述的星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法,其特征在于該星載實時操作系統(tǒng)為μ C/os-II嵌入式系統(tǒng)。
10. 一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯系統(tǒng),至少包括 文件系統(tǒng);檢查點記錄模塊,用于記錄并保存檢查點;檢查點恢復(fù)模塊,用于根據(jù)保存的檢查點執(zhí)行檢查點恢復(fù)任務(wù);表決模塊,包含表決函數(shù),用于利用該表決函數(shù)對三個節(jié)點的中間結(jié)果進行表決;以及通信模塊,利用通信函數(shù)進行通信。
全文摘要
本發(fā)明公開一種星載實時操作系統(tǒng)中的檢查點恢復(fù)容錯方法及系統(tǒng),該方法包括如下步驟對關(guān)鍵任務(wù)冗余執(zhí)行,對非關(guān)鍵任務(wù)進行分布處理;根據(jù)執(zhí)行結(jié)果保存檢查點;以及根據(jù)保存的檢查點進行檢查點恢復(fù);本發(fā)明通過在文件系統(tǒng)的基礎(chǔ)上采用自行設(shè)計的檢查點保存和檢查點恢復(fù)方法,達到提高星載計算機可靠性的目的。
文檔編號G06F11/14GK102521082SQ20111040725
公開日2012年6月27日 申請日期2011年12月8日 優(yōu)先權(quán)日2011年12月8日
發(fā)明者劉茵竺, 蔣江 申請人:上海交通大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
三都| 石门县| 乐昌市| 高安市| 泰安市| 南投县| 吉安市| 惠东县| 夏邑县| 嫩江县| 新龙县| 昌黎县| 铜陵市| 龙口市| 小金县| 绥江县| 融水| 玛多县| 洛浦县| 磐安县| 衡南县| 金华市| 芮城县| 本溪市| 古浪县| 太和县| 天全县| 阜新| 盐边县| 霞浦县| 南溪县| 花垣县| 资中县| 乐清市| 临夏市| 青川县| 和田市| 中西区| 万年县| 岗巴县| 伊金霍洛旗|