專利名稱:一種實時設備驅動恢復系統(tǒng)及方法
技術領域:
本發(fā)明涉及操作系統(tǒng)技術領域,特別涉及一種實時設備驅動恢復系統(tǒng)及方法。
背景技術:
可靠性是操作系統(tǒng)的一個重要目標。Windows XP操作系統(tǒng)85%的失效是由設備驅動造成的。Linux操作系統(tǒng)設備驅動失效的頻率是其它部分的3-7倍以上。實時設備廣泛使用于航空航天、醫(yī)療等領域。實時設備驅動發(fā)生故障可能會造成不可估計的損失,因此, 提高實時設備驅動的可靠性具有重要意義。
發(fā)明內(nèi)容
(一)要解決的技術問題本發(fā)明要解決的技術問題是如何提供一種實時設備驅動恢復系統(tǒng)及方法,以便提高實時設備驅動的可靠性,進而提高實時設備整體的可靠性。( 二 )技術方案為解決上述技術問題,本發(fā)明提供一種實時設備驅動恢復系統(tǒng),其包括控制模塊、備份驅動模塊和模擬設備模塊;所述控制模塊連接正常驅動和所述備份驅動模塊,用于管理所述正常驅動、備份驅動模塊和模擬設備模塊;所述備份驅動模塊,用于對所述正常驅動的行為進行備份;所述模擬設備模塊連接所述備份驅動模塊,用于模擬與所述正常驅動連接的硬件設備。優(yōu)選地,所述控制模塊還連接操作系統(tǒng)內(nèi)核,并且所述控制模塊還用于實現(xiàn)所述操作系統(tǒng)內(nèi)核與正常驅動之間的信息交換。本發(fā)明還提供一種實時設備驅動恢復方法,其包括步驟B:控制模塊同時向正常驅動和備份驅動模塊發(fā)送命令并接收返回值,根據(jù)所述正常驅動的返回值判斷所述正常驅動是否發(fā)生故障,如果是,執(zhí)行步驟C;否則,將所述正常驅動的返回值發(fā)送給操作系統(tǒng)內(nèi)核;C 所述控制模塊控制所述正常驅動停止運行,將所述備份驅動模塊切換到硬件設備上運行,控制所述模擬設備模塊停止運行;D 所述控制模塊恢復所述正常驅動,并控制恢復后的所述正常驅動在所述模擬設備模塊上運行。優(yōu)選地,在所述步驟B之前還包括步驟A 所述控制模塊同時對所述正常驅動和備份驅動模塊進行初始化。5、如權利要求3所述的方法,其特征在于,所述步驟B具體包括步驟Bi:所述控制模塊從所述操作系統(tǒng)內(nèi)核獲得所述命令后,將所述命令進行拷貝,其中一份發(fā)送給所述正常驅動,另一份同時發(fā)送給所述備份驅動模塊;B2:所述控制模塊接收所述正常驅動和備份驅動模塊的返回值,對于所述備份驅動模塊的返回值不做處置;根據(jù)所述正常驅動的返回值,判斷所述正常驅動是否發(fā)生故障,如果是,執(zhí)行所述步驟C ;否則,將所述正常驅動的返回值發(fā)送給所述操作系統(tǒng)內(nèi)核。
優(yōu)選地,所述步驟C具體包括步驟
Cl 所述控制模塊控制所述正常驅動停止運行,不再向所述正常驅動發(fā)送命令;
C2 所述控制模塊改變所述備份驅動模塊的參數(shù),使所述備份驅動模塊在所述硬件設備上運行;
C3 所述控制模塊控制所述模擬設備模塊停止運行。
優(yōu)選地,所述步驟D具體包括步驟
Dl 所述控制模塊采用重新啟動所述正常驅動的方式,或者根據(jù)所述備份驅動模塊修正所述正常驅動的方式,恢復所述正常驅動;
D2 所述控制模塊改變所述正常驅動的參數(shù),使所述正常驅動在所述模擬設備模塊上運行。
(三)有益效果
本發(fā)明所述實時設備驅動恢復系統(tǒng)及方法,通過所述控制模塊、備份驅動模塊和模擬設備模塊的協(xié)調(diào)配合,在所述正常驅動出現(xiàn)故障時,能夠及時頂替和恢復,提高了實時設備驅動的可靠性,進而提高實時設備整體的可靠性。
圖1是本發(fā)明實施例所述的實時設備驅動恢復系統(tǒng)模塊結構示意圖2是本發(fā)明實施例所述的實時設備驅動恢復方法流程圖。
具體實施方式
下面結合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
圖1是本發(fā)明實施例所述的實時設備驅動恢復系統(tǒng)模塊結構示意圖。如圖1所示, 所述系統(tǒng)包括控制模塊200、備份驅動模塊300和模擬設備模塊400,即圖1中虛線所圍區(qū)域。所述控制模塊200連接正常驅動500和所述備份驅動模塊300,用于管理所述正常驅動 500、備份驅動模塊300和模擬設備模塊400 ;所述備份驅動模塊300,用于對所述正常驅動 500的行為進行備份;所述模擬設備模塊400連接所述備份驅動模塊300,用于模擬與所述正常驅動500連接的硬件設備600。所述控制模塊200還連接操作系統(tǒng)內(nèi)核100,并且所述控制模塊200還用于實現(xiàn)所述操作系統(tǒng)內(nèi)核200與正常驅動500之間的信息交換。
圖2是本發(fā)明實施例所述的實時設備驅動恢復方法流程圖。如圖2所示,所述方法包括步驟
步驟A 所述控制模塊200同時對所述正常驅動500和備份驅動模塊300進行初始化。
步驟B 所述控制模塊200同時向所述正常驅動500和備份驅動模塊300發(fā)送命令并接收返回值,根據(jù)所述正常驅動500的返回值判斷所述正常驅動500是否發(fā)生故障,如果是,執(zhí)行步驟C ;否則,將所述正常驅動500的返回值發(fā)送給操作系統(tǒng)內(nèi)核100。
所述步驟B具體包括
步驟Bl 所述控制模塊200接收所述操作系統(tǒng)內(nèi)核100的所述命令后,將所述命令進行拷貝,其中一份發(fā)送給所述正常驅動500,另一份同時發(fā)送給所述備份驅動模塊 300。步驟B2 所述控制模塊200接收所述正常驅動500和備份驅動模塊300的返回值, 對于所述備份驅動模塊300的返回值不做處置;根據(jù)所述正常驅動500的返回值,判斷所述正常驅動500是否發(fā)生故障,如果是,執(zhí)行所述步驟C ;否則,將所述正常驅動500的返回值發(fā)送給所述操作系統(tǒng)內(nèi)核100。步驟C 所述控制模塊100控制所述正常驅動500停止運行,將所述備份驅動模塊 300切換到硬件設備600上運行,控制所述模擬設備模塊400停止運行。所述步驟C具體包括步驟步驟Cl 所述控制模塊200控制所述正常驅動500停止運行,不再向所述正常驅動500發(fā)送命令。步驟C2 所述控制模塊200改變所述備份驅動模塊300的參數(shù),使所述備份驅動模塊300在所述硬件設備600上運行。步驟C3 所述控制模塊200控制所述模擬設備模塊400停止運行。步驟D 所述控制模塊200恢復所述正常驅動500,并控制恢復后的所述正常驅動 500在所述模擬設備模塊400上運行。 所述步驟D具體包括步驟步驟Dl 所述控制模塊200采用重新啟動所述正常驅動500的方式,或者根據(jù)所述備份驅動模塊300修正所述正常驅動500的方式,恢復所述正常驅動500。步驟D2 所述控制模塊200改變所述正常驅動500的參數(shù),使所述正常驅動500在所述模擬設備模塊400上運行。此時,所述正常驅動500和備份驅動模塊300完成一次角色互換,即所述正常驅動500開始充當備份驅動的角色。本發(fā)明實施例所述實時設備驅動恢復系統(tǒng)及方法,通過所述控制模塊、備份驅動模塊和模擬設備模塊的協(xié)調(diào)配合,在所述正常驅動出現(xiàn)故障時,能夠及時頂替和恢復,提高了實時設備驅動的可靠性,進而提高實時設備整體的可靠性。以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術領域的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
權利要求
1.一種實時設備驅動恢復系統(tǒng),其特征在于,包括控制模塊、備份驅動模塊和模擬設備模塊;所述控制模塊連接正常驅動和所述備份驅動模塊,用于管理所述正常驅動、備份驅動模塊和模擬設備模塊;所述備份驅動模塊,用于對所述正常驅動的行為進行備份;所述模擬設備模塊連接所述備份驅動模塊,用于模擬與所述正常驅動連接的硬件設備。
2.如權利要求1所述的系統(tǒng),其特征在于,所述控制模塊還連接操作系統(tǒng)內(nèi)核,并且所述控制模塊還用于實現(xiàn)所述操作系統(tǒng)內(nèi)核與正常驅動之間的信息交換。
3.一種實時設備驅動恢復方法,其特征在于,包括步驟B:控制模塊同時向正常驅動和備份驅動模塊發(fā)送命令并接收返回值,根據(jù)所述正常驅動的返回值判斷所述正常驅動是否發(fā)生故障,如果是,執(zhí)行步驟C;否則,將所述正常驅動的返回值發(fā)送給操作系統(tǒng)內(nèi)核;C 所述控制模塊控制所述正常驅動停止運行,將所述備份驅動模塊切換到硬件設備上運行,控制所述模擬設備模塊停止運行;D 所述控制模塊恢復所述正常驅動,并控制恢復后的所述正常驅動在所述模擬設備模塊上運行。
4.如權利要求3所述的方法,其特征在于,在所述步驟B之前還包括步驟A所述控制模塊同時對所述正常驅動和備份驅動模塊進行初始化。
5.如權利要求3所述的方法,其特征在于,所述步驟B具體包括步驟Bl 所述控制模塊從所述操作系統(tǒng)內(nèi)核獲得所述命令后,將所述命令進行拷貝,其中一份發(fā)送給所述正常驅動,另一份同時發(fā)送給所述備份驅動模塊;B2 所述控制模塊接收所述正常驅動和備份驅動模塊的返回值,對于所述備份驅動模塊的返回值不做處置;根據(jù)所述正常驅動的返回值,判斷所述正常驅動是否發(fā)生故障,如果是,執(zhí)行所述步驟C ;否則,將所述正常驅動的返回值發(fā)送給所述操作系統(tǒng)內(nèi)核。
6.如權利要求3所述的方法,其特征在于,所述步驟C具體包括步驟Cl 所述控制模塊控制所述正常驅動停止運行,不再向所述正常驅動發(fā)送命令;C2 所述控制模塊改變所述備份驅動模塊的參數(shù),使所述備份驅動模塊在所述硬件設備上運行;C3 所述控制模塊控制所述模擬設備模塊停止運行。
7.如權利要求1所述的方法,其特征在于,所述步驟D具體包括步驟Dl 所述控制模塊采用重新啟動所述正常驅動的方式,或者根據(jù)所述備份驅動模塊修正所述正常驅動的方式,恢復所述正常驅動;D2 所述控制模塊改變所述正常驅動的參數(shù),使所述正常驅動在所述模擬設備模塊上運行。
全文摘要
本發(fā)明公開了一種實時設備驅動恢復系統(tǒng)及方法,涉及操作系統(tǒng)領域。所述系統(tǒng)包括控制模塊、備份驅動模塊和模擬設備模塊;所述控制模塊連接正常驅動和所述備份驅動模塊,用于管理所述正常驅動、備份驅動模塊和模擬設備模塊;所述備份驅動模塊,用于對所述正常驅動的行為進行備份;所述模擬設備模塊連接所述備份驅動模塊,用于模擬與所述正常驅動連接的硬件設備。所述系統(tǒng)及方法,通過所述控制模塊、備份驅動模塊和模擬設備模塊的協(xié)調(diào)配合,在所述正常驅動出現(xiàn)故障時,能夠及時頂替和恢復,提高了實時設備驅動的可靠性,進而提高實時設備整體的可靠性。
文檔編號G06F11/14GK102495773SQ20111038208
公開日2012年6月13日 申請日期2011年11月25日 優(yōu)先權日2011年11月25日
發(fā)明者尹杰, 胡事民, 趙鵬, 馬超 申請人:清華大學