出版時間:2010-6 出版社:徐拾義 武漢大學出版社 (2010-06出版) 作者:徐拾義 編 頁數(shù):396
Tag標簽:無
前言
自從第一臺電子計算機問世以來,計算機系統(tǒng)(包括軟件和硬件)就是在同數(shù)字系統(tǒng)的故障和錯誤的斗爭中發(fā)展、成長的。可以說,數(shù)字系統(tǒng)的成長史也是一部同系統(tǒng)內(nèi)外故障的斗爭史。早期的計算機由于故障多而復雜,大量的計算錯誤使得系統(tǒng)無法正常運行。1944年貝爾(Bell)的繼電器計算機雖然使用了糾錯編碼,但是每次運算都必須運行兩次,并將兩次運行結果經(jīng)過比對和檢查后才能得出最后的結果:1951年世界上公認的第一臺商業(yè)化電子計算機UNIVACI,使用了大量的奇偶校驗技術和雙算邏部件(ALU)并進行所謂的匹配一比較運算(match.and-compare)來應付各種可能的故障。當前,隨著信息技術和微電子技術研究開發(fā)的飛速發(fā)展,人們對數(shù)字系統(tǒng)以及相關微電子產(chǎn)品的依賴程度愈來愈大。這些技術和產(chǎn)品,不僅需要應用于航空航天、原子核反應堆、軍事科學、國防建設以及國民經(jīng)濟各種尖端科技領域,而且還直接涉及人們的生活,甚至是生命安全和人類生存等問題。因此,當前人們在應用這些產(chǎn)品的同時必然會提出更高的要求,即除了傳統(tǒng)意義上的要求和標準以外,還提出了更重要的評價體系——系統(tǒng)所提供服務的“可信性”(Dependability)標準問題。事實上,對任何一件產(chǎn)品(一個系統(tǒng))來說,能否為人類提供一種“可信”的服務是衡量其總體質(zhì)量最重要的標準之一。那么,什么叫可信的結果?簡而言之,就是在經(jīng)過可行的確切論證以后,認為系統(tǒng)所提供的服務是正確無誤,而且是可以信賴的結果。問題在于什么叫可行的確切的論證,又由誰來完成這樣的論證等。對于這一系列問題,在過去,由于受到各種條件的限制,幾乎是無法實現(xiàn)的。因此,“可信計算”對數(shù)字計算系統(tǒng)領域中的一般科研人員和一般用戶來說,只是高不可攀的“陽春白雪”,世界上只有極少數(shù)發(fā)達國家在某些特殊要求下,才會開發(fā)和應用它們,比如在航天飛機飛行姿態(tài)控制系統(tǒng)、原子核反應堆控制系統(tǒng)、導彈防御系統(tǒng)、鐵路運輸信號控制系統(tǒng)以及一些重癥病人監(jiān)護系統(tǒng)等需要提供十分可靠,而且只有可信的服務才能完成其所承擔的任務的系統(tǒng)中。這些控制系統(tǒng)中的任何隱患、故障和錯誤都將對系統(tǒng)和環(huán)境帶來嚴重后果,甚至給人類造成深重災難。當前,隨著數(shù)字計算系統(tǒng)日新月異的發(fā)展,原來的陽春白雪已經(jīng)愈來愈普及,甚至滲透到了社會各個階層,走進了尋常百姓的生活,使人類社會更多地享受由信息技術創(chuàng)造的成果。但是,人類在享受著高新技術提供的各種前所未有的服務和樂趣的同時,卻不可避免地會經(jīng)受由于這些系統(tǒng)的不可靠和不可信所帶來的種種險惡后果和嚴峻挑戰(zhàn)。事實上,這樣的例子已經(jīng)不勝枚舉了,例如,當你將銀行卡插入一臺ATM機后得不到任何服務,或者得到錯誤的服務,甚至銀行卡被“吞掉”,或者你在網(wǎng)上預訂好的機票,在登機時竟然發(fā)現(xiàn)是無效機票……這些正是人們在普通的日常生活中隨時可能遇到的不可靠和不可信服務的例子。并且有些故障或錯誤是不可逆轉(zhuǎn)的,往往使人們遭受極為嚴重的損失。因此,當今“可信計算”已經(jīng)不再神秘,人們應該研究和開發(fā)各種新理論、新技術,來規(guī)避所有可能產(chǎn)生的不可靠和不可信的結果?!叭蒎e計算”的概念是直接提高數(shù)字系統(tǒng)的可靠性和可信性最重要的理念之一。事實上,“容錯計算”的概念已經(jīng)逐漸步入人類社會,甚至已經(jīng)和人們的日常工作及生活有了緊密的聯(lián)系,因此,人們渴望著有一天可以從真正可靠和可信的數(shù)字系統(tǒng)中獲得更加便捷、優(yōu)秀的服務,而避免遇到種種不良的后果。
內(nèi)容概要
當前,數(shù)字計算系統(tǒng)已經(jīng)滲透到社會的各個領域,容錯計算理念以及與容錯計算相關的理論和應用問題也將迅速深入到人類賴以生存的各個領域和環(huán)境中去。同時,人們期待著所應用的,或者將應用的各種數(shù)字計算系統(tǒng)都是“誠信”的愿望必將實現(xiàn)。因此,對容錯計算系統(tǒng)的設計理論和實踐環(huán)節(jié)的深入研究和開拓必將成為當今數(shù)字系統(tǒng)研究和開發(fā)的熱點。 《容錯計算系統(tǒng)》共10章,可以分成兩大部分:第一部分對容錯計算以及可信系統(tǒng)各類屬性的定義和基本知識作詳細的介紹和分析(從第1章至第4章),其中包括對軟件和硬件系統(tǒng)的故障,錯誤和失效的定義和性質(zhì)的形式化描述,并對軟件和硬件系統(tǒng)中的故障和錯誤作了分析和比較;第二部分則是在對故障、錯誤和失效等主要屬性作深入研究的基礎上,闡述了提高系統(tǒng)可信性和可靠性以及容錯計算的基本理論、主要技術和實施方法,并且介紹了其他相關的知識(從第5章至第10章)。其中按照軟件和硬件系統(tǒng)的開發(fā)生命周期各個階段應采取的各種策略和措施進行詳細的分析討論,包括闡明了避錯技術和防錯技術、軟件和硬件系統(tǒng)測試技術、可測性設計技術(包括冗余與編碼技術)、容錯系統(tǒng)的設計以及故障安全技術等在數(shù)字系統(tǒng)中的實施策略和實際應用?! 度蒎e計算系統(tǒng)》是專為計算機科學與技術專業(yè)和信息工程專業(yè)高年級本科生和研究生以及從事容錯計算理論和應用的有關專業(yè)人士撰寫的,是一本集數(shù)字計算軟件和硬件系統(tǒng)于一體的容錯計算理論研究和應用與實踐并重的教材,書中吸收并介紹了大量國內(nèi)外關于容錯計算理論和技術方面的信息?!度蒎e計算系統(tǒng)》與當前其他教材相比較,從具體內(nèi)容上來看具有一定的先進性和前瞻性,對學習和了解數(shù)字系統(tǒng)的可靠性和容錯計算系統(tǒng)的設計具有重要的意義。
書籍目錄
第1章 容錯計算的基本概念1.1 故障的定義及性質(zhì)1.1.1 故障的定義1.1.2 故障的產(chǎn)生1.1.3 故障的基本性質(zhì)1.2 故障模型1.2.1 硬件故障模型1.2.2 軟件故障模型1.3 故障模型的建立1.3.1 建立故障模型的重要性和標準1.3.2 故障模型的局限性1.4 錯誤的定義1.4.1 錯誤的定義1.4.2 錯誤的分類及其傳遞性1.5 失效的定義1.6 數(shù)字系統(tǒng)的可信性1.7 容錯計算的定義及其重要功能1.8 本章小結1.9 思考題第2章 數(shù)字系統(tǒng)的可靠性2.1 數(shù)字系統(tǒng)可信性的定義2.2 數(shù)字系統(tǒng)的可靠性2.2.1 基本的可靠性函數(shù)和失效函數(shù)2.2.2 可靠性的重要參數(shù)及定義2.3 組合系統(tǒng)的可靠性2.3.1 串行組合系統(tǒng)的可靠性評估2.3.2 并行組合系統(tǒng)的可靠性2.3.3 串并行/并串行系統(tǒng)的可靠性2.3.4 非串行/非并行系統(tǒng)的可靠性2.4 數(shù)字系統(tǒng)的可測性2.5 數(shù)字系統(tǒng)的可維護性2.5.1 維護的定義2.5.2 可維護性的定義2.6 數(shù)字系統(tǒng)的可用性2.7 數(shù)字系統(tǒng)的安全性2.8 數(shù)字系統(tǒng)的信息安全2.9 數(shù)字系統(tǒng)可信性綜合分析2.10 本章小結2.11 思考題第3章 冗余技術和編碼原理3.1 功能性冗余技術的基本原理3.1.1 靜態(tài)功能性冗余3.1.2 動態(tài)功能性冗余技術3.2 結構性冗余技術3.2.1 數(shù)字系統(tǒng)的結構性冗余技術3.2.2 主動冗余技術3.2.3 被動冗余技術3.2.4 混合冗余3.2.5 時間冗余技術3.3 糾錯編碼原理3.3.1 糾錯編碼的基本原理3.3.2 線性分組編碼原理3.3.3 糾一/檢二海明編碼3.4 蕭碼——實用的糾一臉二編碼3.5 循環(huán)碼基本原理3.5.1 循環(huán)碼基礎和碼多項式3.5.2 循環(huán)碼多項式的性質(zhì)3.5.3 循環(huán)碼的系統(tǒng)碼格式3.5.4 使用(n-k)級線性移位寄存器編碼3.5.5 使用七級線性移位寄存器編碼3.6 本章小結3.7 思考題第4章 自校驗邏輯設計4.1 完全自校驗電路的基本概念4.2 分離碼電路及相關定義4.2.1 強/弱分離碼電路4.2.2 自校驗電路中的術語及基本定義4.3 無雙向錯誤的組合邏輯設計4.4 檢測由輸入端故障產(chǎn)生的雙向錯誤4.5 雙向錯誤排除技術4.5.1 輸入編碼4.5.2 輸出編碼4.6 自對偶奇偶校驗4.7 模3(mod 3)留數(shù)碼自校驗電路4.8 本章小結4.9 思考題第5章 故障避免和防止技術5.1 需求分析和規(guī)格說明階段的故障避免措施5.1.1 確信技術5.1.2 驗證技術5.2 設計階段的故障避免措施5.2.1 故障預防——設計過程中的確信技術5.2.2 故障檢測——設計過程中的驗證技術5.3 設計階段應用的功能測試5.4 故障防止措施5.4.1 應用故障防止應注意的事項5.4.2 應用于硬件系統(tǒng)的故障防止措施5.4.3 應用于軟件系統(tǒng)的故障防止措施5.5 本章小結5.6 思考題第6章 軟件可靠性模型和軟件測試6.1 軟件可靠性的研究意義6.2 軟件開發(fā)的生命周期6.2.1 項目的初始階段6.2.2 樣本設計及定型階段6.2.3 編程階段6.2.4 測試階段6.2.5 變異測試6.3 軟件可靠性及其測度6.4 軟件測試對軟件可靠性模型的影響6.4.1 軟件錯誤與檢錯曲線6.4.2 軟件錯誤與檢錯模型6.5 軟件可靠性模型6.5.1 常數(shù)檢錯率的軟件可靠性模型6.5.2 線性遞減型檢錯率的軟件可靠性模型6.5.3 指數(shù)遞減型檢錯率的軟件可靠性模型6.6 軟件可靠性模型中的常數(shù)估算6.6.1 參數(shù)估算方法(1)——常數(shù)型檢錯率6.6.2 參數(shù)估算方法(2)——線性遞減型檢錯率6.6.3 參數(shù)估算方法(3)——指數(shù)遞減型檢錯率6.7 本章小結6.8 思考題第7章 數(shù)字電路故障診斷7.1 數(shù)字電路故障診斷的基本概念7.1.1 故障等價7.1.2 故障控制7.2 數(shù)字電路的故障測試7.2.1 邏輯測試的基本類型7.2.2 邏輯測試的基本參數(shù)7.2.3 邏輯測試的層次分類7.2.4 邏輯測試的具體實施7.3 組合電路的測試生成7.3.1 邏輯電路的可控性和可觀察性7.3.2 單固定故障測試生成7.4 特征分析測試法7.4.1 計“1”測試法7.4.2 跳變計數(shù)測試法7.4.3 征兆測試法7.5 時序電路測試生成7.5.1 時序電路測試的基本概念7.5.2 狀態(tài)表驗證和I/O校驗序列7.5.3 利用鑒別序列生成校驗序列7.5.4 無鑒別序列時序電路的校驗序列7.6 橋接故障測試生成7.6.1 橋接故障模型7.6.2 非反饋型橋接故障的測試生成方法7.6.3 反饋型橋接故障的測試生成7.7 本章小結7.8 思考題第8章 可測試性設計技術8.1 可測試性設計思想的重要性8.2 可測試性設計的基本原理8.2.1 測試質(zhì)量和可測試性屬性8.2.2 可測試性設計的意義8.3 特定測試法8.3.1 設置附加測試點8.3.2 便于初始化設置8.3.3 將大規(guī)模組合電路分解為松散型連接的小規(guī)模模塊8.3.4 提高時序電路的可控性8.3.5 軟件可測試性設計中的測試點技術和異常檢測技術8.4 專用可測試性電路及可測試性軟件設計方法8.4.1 Reed-Muller電路擴展技術8.4.2 控制邏輯插入技術8.4.3 專用可測試性設計在軟件中的應用8.5 組合電路內(nèi)建測試(BIT)設計方法8.5.1 PLA電路的結構及基本故障模型8.5.2 PLA電路的可測試性設計——PLA的奇偶校驗BIT技術8.6 時序電路內(nèi)建測試(BIT)設計方法8.6.1 掃描通路設計思想8.6.2 隔離(切換)部件的設計8.6.3 電平觸發(fā)掃描設計(LSSD)8.6.4 應用掃描設計技術的成本和對系統(tǒng)開發(fā)的影響8.7 邊界掃描內(nèi)建測試(BIT)技術8.7.1 邊界掃描問題的提出8.7.2 邊界掃描設計的基本原理8.8 內(nèi)建自測試(BIST)方法8.8.1 內(nèi)建自測試的基本概念8.8.2 線性反饋移位寄存器與特征多項式8.8.3 一個可測試性設計的實例——偽窮舉奇偶校驗法及奇偶校驗可測試性設計8.9 本章小結8.10 思考題第9章 容錯計算技術和容錯系統(tǒng)9.1 軟件系統(tǒng)的結構性冗余技術9.1.1 N-版本(模)冗余技術的基本概念9.1.2 軟件系統(tǒng)N-版本冗余的實現(xiàn)方法9.1.3 指令復抽.技術9.2 卷回和向后恢復技術9.2.1 向后恢復技術9.2.2 向后恢復技術中的高速緩存9.2.3 向后恢復技術中恢復點的確定9.2.4 向后恢復技術中運行環(huán)境的恢復9.3 向前恢復技術9.3.1 恢復模塊式9.3.2 終結模式技術9.4 N模冗余系統(tǒng)的可靠性評估9.4.1 系統(tǒng)裁決9.4.2 模塊分級裁決9.4.3 裁決器的可靠性問題9.4.4 可修復的NMR系統(tǒng)9.5 容錯系統(tǒng)的性能和成本關系的評估9.6 各種容錯技術的比較9.6.1 容錯設計技術的相似性9.6.2 容錯設計的差異性9.7 容錯計算技術與系統(tǒng)可靠性的關系9.8 本章小結9.9 思考題第10章 安全保障技術10.1 安全保障的基本概念10.1.1 固有安全設計確保系統(tǒng)的安全性10.1.2 冗余結構及故障安全技術提高系統(tǒng)的安全性10.1.3 基于冗余結構技術的安全保障系統(tǒng)例子10.2 安全保障系統(tǒng)與完全自校驗技術10.2.1 雙軌校驗器實現(xiàn)自校驗功能10.2.2 基于n取m碼完全自校驗及校驗器的設計和構造10.2.3 基于n取1碼完全自校驗及校驗器的設計和構造10.3 基于伯格碼的完全自校驗及校驗器10.4 基于低耗留數(shù)碼完全自校驗及校驗器的設計10.5 完全自校驗PLA電路的設計10.5.1 強故障安全PLA電路的設計10.5.2 完全自校驗PLA電路的設計10.6 最終安全保障組合電路的設計10.7 自校驗時序電路的設計10.7.1 時序電路中的冗余故障10.7.2 自校驗時序電路的設計10.8 安全保障時序機的設計10.9 安全保障系統(tǒng)與完全自校驗技術的關系10.10 本章小結10.11 思考題參考文獻
章節(jié)摘錄
插圖:對可信性的測度評估主要可以分為兩個方面,即可信性的數(shù)量測度和質(zhì)量測度。從數(shù)量測度觀點來評價一個數(shù)字系統(tǒng)的可信性,可以對系統(tǒng)可信性的多個屬性進行全面的評估,這些評估的基礎就是系統(tǒng)在各個屬性上所提供服務的可“依賴程度”。由于這些屬性的不確定因素,這些依賴程度都是以概率的形式來衡量和農(nóng)示的。從宏觀上來看,一個系統(tǒng)在整個生命周期中可能在一個階段需要接受評估:第一階段為需求分析和規(guī)格說明階段,第二階段為設計階段,第三階段則是系統(tǒng)的運行階段。第一階段的評估是在系統(tǒng)建立之前,即在對其作規(guī)格說明階段中進行的。主要是根據(jù)它的規(guī)格說明來分析和預測該系統(tǒng)在將來作為產(chǎn)品的可信性。即根據(jù)用戶對可信性的要求和設計者對系統(tǒng)成本和需求分析來預測系統(tǒng)的可信性,并且確保系統(tǒng)在運行時的可信性應該在可接受的范圍之內(nèi)。第二階段的評估是在設計階段進行。在設計階段應注意要運用必要的技術、可靠的元器件或模塊以保證系統(tǒng)在運行時達到應有的可信性。如在硬件系統(tǒng)中應該盡量避免使用不可靠的元器件,因為它們會帶來許多隱患,導致系統(tǒng)不穩(wěn)定。同樣在軟件系統(tǒng)中應盡可能避免過多使用轉(zhuǎn)向語句等結構,因為這些語句結構的使用可能使程序運行和程序調(diào)試變得十分復雜,難以控制,因而使程序容易發(fā)生錯誤。第三階段的評估是在系統(tǒng)運行階段進行的。這個階段的評估主要是通過大量試驗性的運行來得到應有的實驗結果,以確定該系統(tǒng)的可信性是否在原有的設計范圍內(nèi),是否達到了應有的標準。如對同一個程序,應使用不同的數(shù)據(jù)輸入,并需要運行上百次乃至幾千次,直到得到一個明確的統(tǒng)計值為止。第一階段的評估和第二階段的部分評估工作稱為預測性評估,而第三階段和第二階段剩余部分的評估工作則稱為運行性評估。不管哪一種評估都存在一定的難度,因為它們都無法提供一個確定的數(shù)值,通常只是一個概率統(tǒng)計值。因此,在一般情況下對可信性的數(shù)量評估只是一個概率值,很多情況必須視具體的系統(tǒng)而定。從質(zhì)量測度來評價一個數(shù)字系統(tǒng)的可信性,主要是根據(jù)在系統(tǒng)中檢測到的致命性故障和錯誤的情況對系統(tǒng)可信性引起的后果的嚴重情況來測定。事實上,這種測度只是對系統(tǒng)可信性可能受到損害的嚴重程度做出的評估,而并不是對故障或錯誤造成的嚴重后果的直接測量。這種的評估可以有兩種不同的方法:順推法和逆推法。順推法是從已經(jīng)檢測到的致命性故障和錯誤推導出系統(tǒng)可能出現(xiàn)的失效及其后果的嚴重性,典型方法是故障樹法。逆推法則是從可能出現(xiàn)的失效及其嚴重后果推算出可能引起系統(tǒng)失效的致命性的故障和錯誤,常用的逆推法是失效模式分析法。本章將分別對數(shù)字系統(tǒng)可信性的幾個重要屬性分別作系統(tǒng)的定量分析及討論,主要將討論數(shù)字系統(tǒng)可靠性測度的分析和評估,因為可靠性測度是衡量和保證系統(tǒng)能夠提供可信服務最重要的因素。對其他屬性,如可測性、可用性、安全性、保密性等測度的分析將僅作簡單的介紹,以饗讀者。
編輯推薦
《容錯計算系統(tǒng)》是信息安全系列教材。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載