資源描述:
《嵌入式雙機容錯實時系統(tǒng)的可靠性設計.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。
1、嵌入式雙機容錯實時系統(tǒng)的可靠性設計 容錯實時系統(tǒng)的研究主要集中在兩個方面:①改進實時調(diào)度算法,使之確保實時任務在正常運行和遇到錯誤時,均能在規(guī)定時限到來以前獲得正確的輸出。②將過去應用于普通計算機系統(tǒng)中的冗余容錯策略移植到實時系統(tǒng)中。 在具有硬件容錯能力的計算機系統(tǒng)中,其失效65%來自軟件,僅有8%來自于硬件。因此,軟件容錯能力成為決定計算機系統(tǒng)可靠性的關鍵。為了在出現(xiàn)硬件或軟件的暫時或永久故障的情況下,保證關鍵任務仍能在規(guī)定的時限范圍內(nèi)完成運算,并輸出正確的結果,提出一種雙處理器實時嵌入式容錯系統(tǒng)體系結構。該系統(tǒng)結構采用多處理器體系結構,實現(xiàn)計算機之間的通信,并無縫整合了計算機硬件
2、、操作系統(tǒng)、應用軟件級的軟件容錯設計,達到從整體上提高系統(tǒng)可靠性的目的。1雙機容錯實時系統(tǒng)的體系結構 本系統(tǒng)采用圖1所示的雙機容錯系統(tǒng)硬件結構模型。該系統(tǒng)在雙機比較系統(tǒng)的基礎上,結合多處理機的松耦合與緊耦合系統(tǒng)結構,在不同的處理機間通過通道互連實現(xiàn)通信,為在硬件容錯中結合軟件容錯提供可能?! D1雙機容錯系統(tǒng)結構模型 A機和B機各有獨自的外圍控制邏輯和外設,這樣不會引起系統(tǒng)資源的競爭,增加整體系統(tǒng)的穩(wěn)定性。當然,這樣是以花費更多的硬件設施為代價的。比較器及不一致檢測用專門設計的仲裁檢測電路來實現(xiàn),其根據(jù)A機與B機周期向其發(fā)送的自檢測信號來判斷A機系統(tǒng)和B機系統(tǒng)運行的狀況?! ‰p機
3、系統(tǒng)的運行狀態(tài)如下: ?、偃绻鸄機與B機均正常運行,則將計算機A作為主系統(tǒng),計算機B作為備份使用,A機的運行結果作為系統(tǒng)輸出,A機運行到檢測點,向B機發(fā)送日志,B機更新日志列表?! 、谌绻鸄機正常而B機故障,亦將A機的運行結果作為系統(tǒng)輸出,同時將B機的運行故障狀態(tài)報告給A機,并向B機進行復位控制操作?! 、廴绻鸄機故障,B機正常,則進行開關切換操作,B機進行系統(tǒng)備份任務重調(diào)度,B機運行結果作為系統(tǒng)輸出,并向A機進行復位控制操作,在檢測點更新A機日志,保持需要備份的任務狀態(tài)一致。2軟件設計與實現(xiàn) 圖2所示模型結合嵌入式實時系統(tǒng)的體系結構,采用層次結構和模塊結構相結合,無縫整合了計算機硬件
4、、操作系統(tǒng)、應用軟件級的軟件容錯設計。在整體上采用分層的結構模型,克服了軟、硬件分離和脫節(jié)的問題,提高系統(tǒng)的靈活性和可移植性。模型的每一層均可以看作是一個相對獨立的系統(tǒng)。在每一層中按照系統(tǒng)功能,劃分不同的功能模塊。 圖2雙機容錯系統(tǒng)軟件體系結構 該系統(tǒng)采用對稱結構,為支持容錯處理,每個節(jié)點從下到上分為3個主要部分,即MCFT(MulTIprocessorCommunicaTIonforFaultTolerance)、RTOS系統(tǒng)級容錯組件、任務級動態(tài)冗余組件。2.1多機容錯通信模塊MCFT 在操作系統(tǒng)與硬件之間加入MCFT層,MCFT作為BSP(BoardSupportPack
5、age)的一部分,作為硬件平臺的抽象層,為操作系統(tǒng)提供統(tǒng)一的界面,提高系統(tǒng)的可移植性。有容錯需求的任務,通過MCFT所提供的功能傳遞日志,保持主系統(tǒng)和備份系統(tǒng)的關鍵任務的狀態(tài)和數(shù)據(jù)一致。MCFT屏蔽了底層通信的具體實現(xiàn)細節(jié),使系統(tǒng)的實現(xiàn)與連接介質無關?! PFT管理著一些數(shù)據(jù)包,并且在各個節(jié)點之間發(fā)送和接收這些數(shù)據(jù)包,數(shù)據(jù)包的結構如下: 2.2RTOS系統(tǒng)級容錯組件 RTOS系統(tǒng)級容錯組件,包括系統(tǒng)內(nèi)核級容錯支持組件、系統(tǒng)自診斷組件和主/備用機切換支持組件?! 。?)內(nèi)核級容錯支持組件 為支持操作系統(tǒng)級和應用級通信,在該系統(tǒng)中,每個節(jié)點上保存兩個對象表,一個本地任務表,一個容錯任
6、務表。本地任務表在每個節(jié)點上都是不同的,它包含在此節(jié)點上創(chuàng)建的所有任務。容錯對象表包含系統(tǒng)中所有的容錯任務,在所有節(jié)點上是一樣的。為保持在所有節(jié)點上容錯任務表的一致性,每個節(jié)點對容錯對象的創(chuàng)建、刪除等都必須通知給備份節(jié)點。利用檢查點技術和傳遞日志法,保持主系統(tǒng)和備份系統(tǒng)的備份任務的狀態(tài)和數(shù)據(jù)一致。一旦主機發(fā)生故障,系統(tǒng)程序自動進行主/備用機切換,備用機系統(tǒng)使備份任務就緒,利用實時任務的調(diào)度策略,使備份任務在備份機上發(fā)生重調(diào)度,成為主機。 ?。?)系統(tǒng)自診斷組件 如圖3所示,系統(tǒng)中采用自診斷的方法來診斷系統(tǒng)級的故障,用任務級的檢測來診斷應用級的故障?! ∽栽\斷劃分為幾個不同的測試階段,系
7、統(tǒng)啟動自檢測階段和周期自檢測階段。自動啟動診斷的因素有:主/備用機定時切換和主機發(fā)生故障。周期自檢測階段根據(jù)系統(tǒng)需求,周期性檢測外設和通信口。每個階段對應設備的幾種功能塊,包括CPU的自診斷、中斷響應自診斷、串口自診斷、定時器自診斷、離散量自診斷、RAM自診斷等?! ∮捎诮Y果比較是實時系統(tǒng)中任何事務處理都需要經(jīng)歷的步驟,因此把任務級的故障檢測放到結果判別部分進行?! 。?)主/備用機切換支持組件 仲裁檢測電路中對主/備用機設置了“