999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

計算機系統的容錯技術方法

2010-03-20 02:31:40李洪超
單片機與嵌入式系統應用 2010年11期
關鍵詞:程序故障方法

李洪超

(上海理工大學光電信息與計算機工程學院,上海200090)

計算機的應用十分廣泛,航空航天、軍事、銀行監管系統、交通運輸系統以及其他重要的工業領域對計算機的可靠性要求非常高。計算機系統出現故障不僅會導致國家財產的嚴重損失,還會危及人身安全。因此,在這些領域中計算機的可靠性越來越受到人們的重視,國家非常重視可靠性的研究工作,投入了大量的資源。

1 基本容錯技術

一般而言,提高計算機的可靠性有兩種比較有效的方法。一種是避錯,就是避免出現故障,這就需要嚴格篩選計算機元器件,完善設計,提高制造工藝,以及加強質量管理等。但即使是這樣一個計算機系統,由于其所在的工作環境有各種環境應力,如濕度、溫度、電磁干擾、強震動等,因此總避免不了出現故障。這就要求在計算機出現故障的情況下容忍故障的存在,即第二種方法——容錯技術。容錯技術最早由約翰?馮?諾依曼(John Von Neumann)提出,所謂容錯是指在出現一個或者幾個硬件或軟件方面的故障或錯誤的情況下,計算機系統能夠檢測出故障的存在并采取措施容忍故障,不影響正常工作,或者在能夠完成規定的任務的情況下降級運行[1]。

故障是指由于部件的物理失效、環境應力的作用、操作錯誤或不正確的設計,引起系統的硬件或軟件的錯誤狀態[2]。下面介紹幾種相關技術的基本概念。

故障檢錯技術:對于計算機系統的容錯首先要用到故障檢錯技術,即在計算機系統發生故障的情況下能夠檢測出故障的存在。

故障診斷技術:檢測出系統存在故障后要進行故障的定位,找出故障所在的位置。

故障恢復技術:在檢測出故障和定位故障的所在位置之后,就要運用故障恢復技術把系統從故障的狀態恢復到無故障的狀態繼續運行。

容錯最基本的的方法是冗余技術,所謂冗余就是超過系統實現正常功能的額外資源。冗余包括硬件冗余、軟件冗余、時間冗余和信息冗余[3]。

1.1 硬件容錯技術

硬件冗余又包括靜態硬件冗余(也叫被動硬件冗余)、動態硬件冗余(也叫主動硬件冗余)和混合冗余(靜態冗余和動態冗余的結合)。靜態硬件冗余常見的形式有三模冗余(TMR),其基本原理是:系統輸入通過3個功能相同的模塊,產生的3個結果送到多數表決器進行表決,即三中取二的原則,如果模塊中有一個出錯,而另外兩個模塊正常,則表決器的輸出正確,從而可以屏蔽一個故障,TMR的缺點是,如果3個模塊的輸出各不相同,則無法進行多數表決;若有兩個模塊出現一致的故障,則表決的結果會出現錯誤。TM R結構如圖1所示。

三模冗余可推廣到N模冗余(NM R),其基本原理與TMR的原理相同,其中N≥3,且N為奇數,以便進行多數表決。動態冗余是指當檢測到工作的模塊出現錯誤時,就切換到一個備用的模塊,當換上的備用模塊又發生故障時,再切換到另一個備用模塊,依次類推,直到備用的模塊用完。

圖1 TMR結構圖

1.2 時間容錯技術

時間容錯的基本思想是:重復執行指令或者一段程序來消除故障的影響,以達到容錯的效果,它是用消耗時間來換取容錯的目的。根據執行的是一條指令還是一段程序,分成兩種方法:

一種是指令復執。當檢測出故障的時候,重復執行故障指令,若故障是瞬時的,則在指令復執期間可能不會出現,程序就可以繼續向前運行。指令復執必須保留上一指令結束的“現場”,包括累加器、PC及其他狀態寄存器的狀態。

另一種是程序卷回。它不是重復執行一條指令,而是重復執行一小段程序。在整段程序中可以設置多個恢復點,程序有錯誤的情況下可以從一個個恢復點處開始重復執行程序。首先檢驗一小段程序的計算結果,若結果出現錯誤則卷回再重復執行那個部分,若一次卷回不能解決,可以多次卷回,直到故障消除。

1.3 信息容錯技術

信息容錯技術是通過在數據中附加冗余的信息位來達到故障檢測和容錯的目的。通常情況下,附加的信息位越多,其檢錯糾錯的能力就越強,但是這同時也增加了復雜度和難度。信息冗余最常見的有檢錯碼和糾錯碼。檢錯碼只能檢查出錯誤的存在,不能改正錯誤,而糾錯碼能檢查出錯誤并能糾正錯誤。常用的檢錯糾錯碼有奇偶校驗碼、海明碼、循環碼等。

1.4 軟件容錯技術

由于硬件系統的故障主要來自生產和使用階段,因此容錯可以通過相同部件的重復,即相同資源的累積設置來實現;而軟件故障主要來自說明、設計和實現階段,因此程序的簡單重復不能實現容錯,它只能防止硬件損壞或者環境干擾等引起的物理性故障,而不能防止軟件本身缺陷造成的故障。實現軟件容錯的基本方法,是將若干個根據同一需求說明編寫的不同程序(即多版本程序),在不同空間同時運行,然后在每一個設置點通過表決或接收測試進行表決。

最基本的軟件容錯技術是Algirdas Avizienis提出的基于靜態冗余的N版本編程方法和B.Randell提出的基于動態冗余的恢復塊技術[4]。

1.4.1 軟件的相異性設計

對于軟件容錯,考慮的重點是軟件設計的相異性和版本的獨立性。軟件的相異性設計是為了防止由于軟件發生共性故障而采用的一種設計方法。軟件設計時的共性越小,出現相同故障的概率也就越小,容錯性能就越強[5]。

相異性設計要求,對于同一需求說明的軟件功能,不同的研發設計人員及不同的研發設計小組對于這同一功能的軟件設計禁止談論和溝通,在不同的環境空間中獨立進行設計;另外,還要求軟件設計的多樣性,如采取不同的設計方法、開發工具、編程語言、編譯器、算法等。在航空航天、核電站控制以及鐵路交通的控制等對軟件的可靠性要求很高的場合,軟件的相異性設計可以有效提高軟件的容錯能力和軟件的可靠性,對提高整個系統的可靠性有很重要的作用。

1.4.2 軟件容錯的基本結構

軟件容錯的基本結構有兩種[1,3-4]:

一種是NVP(N-Version Programming)結構(多版本編程設計),這種結構方法是Algirdas Avizienis于1977年在參考文獻[6]中提出的,它是一種靜態冗余方法,其基本的設計思想是用N個具有同一功能而采用不同編程方法的程序執行一項運算,其結果通過多數表決器輸出。NVP系統中的多版本是指根據同一需求說明由不同的設計人員或由不同的設計方法、開發工具、編程語言等開發的具有同一功能的軟件版本,即所謂的版本設計的相異性。這種容錯結構方法有效避免了由于軟件共性故障所造成的系統出錯,提高了軟件的可靠性。NNP結構如圖2所示。

另一種是RB(Recovery Block,恢復快結構),它是Randell于1975年在參考文獻[7]中提出的一種的軟件容錯技術,它是一種動態冗余方法。在RB結構中,有主程序塊和一些備用程序塊構,這里的主程序塊和備用程序塊采用不同編程方法但具有相同的功能。每個主程序塊都可以用一個根據同一需求說明設計的備用程序塊替換。首先運行主程序塊,然后進行接收測試,如果測試通過則將結果輸出給后續程序,否則調用第一個備用塊,依次類推,在N個備用程序塊替換完后仍沒有通過測試,則要進行故障處理。RB結構如圖3所示。

圖2 NVP結構

圖3 RB結構

其他的軟件容錯結構都是基于這兩個基本結構而來的,例如NVPP[8](多版本階段程序設計),它要求程序的版本運行分多個階段進行,而且每個階段運行的程序都包括適當的版本數量。運行一個階段后,要通過表決程序來對這一階段運行的程序進行表決,如果得到正確的結果就結束運行,否則繼續下一個階段版本的運行,直到得出正確的結果。

NVP和RB這兩種基本結構在軟件容錯中用得最廣泛,占據很重要的地位。這里要注意的是,驗證表決程序的可靠性以及表決結果的正確性是個難點,因為如果表決程序本身就是錯誤的,那表決的結果就不可信了,所以要用正確性證明技術來保證表決程序的正確。

2 結 論

本文詳細介紹了計算機容錯的各種方法,包括硬件容錯、時間容錯、信息容錯以及軟件容錯等,這些容錯方法在其他工業場合有廣泛的應用,現在很多工業系統都是采用基于三模冗余的容錯技術來提高系統的可靠性。對于其他要求可靠性高的場合,計算機容錯技術的方法有著良好的應用前景。

[1]袁由光,陳以農.容錯與避錯技術及其應用[M].北京:科學出版社,1992.

[2]國防科學工業技術委員會.GJB 3180-98軍用計算機容錯要求與測評[S],1998.

[3]胡謀.計算機容錯技術[M].北京:中國鐵道出版社,1995.

[4]Kanoun K,Kaaniche M,Beounes C,et al.Reliability Grow th of Fault-tolerant Software[J].IEEE Transactions on Reliability,1993,42(2):205-218.

[5]韓煒,楊孝宗,等.相異性容錯設計的概念及其實現[J].哈爾濱工業大學學報,2001,33(5).

[6]Randell B.System Structure for Software Fault Tolerance[J].IEEE Transactions on Software Engineering,1975(SE-1):220-232.

[7]Avizienis A,Chen L.On The Implementation of N-Version Programming for Softw are Fault-Tolerance During Program Execution:proceedings of the 1977 International Conference on Computer Software and Application[C],1977:149-155.

[8]徐仁佐.軟件可靠性工程[M].北京:清華大學出版社,2007.

猜你喜歡
程序故障方法
故障一點通
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
奔馳R320車ABS、ESP故障燈異常點亮
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
故障一點通
主站蜘蛛池模板: 老司机久久99久久精品播放| 国产午夜福利亚洲第一| 91精品国产自产在线老师啪l| 97视频免费看| 久久国产精品无码hdav| 亚洲性一区| 日本不卡在线| 一级毛片网| 色哟哟国产精品一区二区| 超碰免费91| 92午夜福利影院一区二区三区| 国产无人区一区二区三区| 精品一区二区无码av| 色偷偷综合网| 国产黄色免费看| 国产成人高清精品免费| 丁香六月综合网| 成人久久18免费网站| 亚洲视频在线青青| 亚洲人成网站在线播放2019| 成人精品亚洲| 国产爽妇精品| 本亚洲精品网站| 精品一区二区三区四区五区| 国产亚洲欧美另类一区二区| A级毛片高清免费视频就| 亚洲欧美自拍中文| 亚洲欧美日韩另类在线一| 国产高清在线观看| 免费黄色国产视频| 好吊妞欧美视频免费| 91视频区| 国产精品2| 色综合色国产热无码一| 这里只有精品国产| 97人人模人人爽人人喊小说| 欧美精品亚洲日韩a| 激情综合网址| 久久成人国产精品免费软件 | 亚洲成人精品在线| 啪啪啪亚洲无码| 国产福利一区在线| www欧美在线观看| 亚洲高清中文字幕在线看不卡| 国产va在线观看| 国产精品大白天新婚身材| 国产在线观看成人91| 婷婷综合缴情亚洲五月伊| 欧美国产中文| 无码视频国产精品一区二区| 91精品国产无线乱码在线| 波多野结衣AV无码久久一区| 成人在线天堂| 最新无码专区超级碰碰碰| 欧美成人午夜视频免看| 国产乱人激情H在线观看| 精品午夜国产福利观看| 国产新AV天堂| 巨熟乳波霸若妻中文观看免费| 黄色片中文字幕| 国产成人乱无码视频| 国产精品亚洲综合久久小说| 精品久久高清| 亚洲综合激情另类专区| 国产成人一级| 欧美特级AAAAAA视频免费观看| a级毛片毛片免费观看久潮| 91www在线观看| 自拍偷拍欧美日韩| 精品人妻AV区| 91免费国产高清观看| 亚洲a级在线观看| 多人乱p欧美在线观看| 99这里精品| 国产精品性| 夜夜拍夜夜爽| 亚洲人免费视频| 国产女主播一区| 国产亚洲视频免费播放| 色综合天天娱乐综合网| 精品国产成人国产在线| 亚洲色中色|