分布式操作系統4_第1頁
分布式操作系統4_第2頁
分布式操作系統4_第3頁
分布式操作系統4_第4頁
分布式操作系統4_第5頁
已閱讀5頁,還剩68頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四章分布式系統中的進程和處理機4.1 線程一、線程簡介在系統要求更高的吞吐量、更高的性能,并在同一地址空間,共享同一緩沖區,創建兩個服務進程不可能達到目的,從而需要新的機制線程像微小進程,按照順序執行,有自己的程序計數器和堆棧。當一個線程被阻塞時,運行同一進程中的另一線程。所有線程共享全局變量,能夠存取每個虛擬地址,線程之間沒有保護,每個線程能夠讀寫其他線程的堆棧,甚至清除另一線程的堆棧:線程是同一任務的一部分且緊密合作計算機計算機進程線程程序計數器A)三個進程,每個進程有一個線程B)一個進程有三個線程線程的狀態運行線程占有CPU,處于激活狀態阻塞等待其他線程的某個事件觸發后才能喚醒并能夠運

2、行的線程就緒等候CPU服務的線程結束結束為線程退出,但還沒有被父進程回收二、線程的用途派遣者/工作者模型從系統郵箱內讀出輸入請求,檢查請求,選擇一個空閑的工作者線程處理當工作者線程被喚醒后,檢查任何一個線程可訪問的共享塊緩沖區是否可以滿足,若不滿足,則給磁盤發出消息,要求所需的數據塊,等待磁盤操作完成調用調度程序,開始另一線程郵 箱共享塊Cache工作者線程派遣者線程文件服務器進程工作請求達到構造服務器的方法n線程特點:并行,阻塞系統調用n單線程進程服務器的主循環是接收一個請求,檢查請求,在下一個請求到來前完成請求,當等待磁盤操作時,服務是空閑的且不處理另一請求特點:不并行,阻塞系統調用n有限

3、狀態機當請求到來后,有唯一的一個線程檢查它,如果緩沖區能滿足,進行運行,否則,向磁盤發送一條消息,但并不阻塞服務線程,而將當前請求的狀態記錄在一張表中,然后處理下一條消息。下條消息如果是請求新工作則激活它,若是磁盤對上次操作的回答,則從表中取出相關信息并處理特點:并行,非阻塞系統調用2. 團隊模型所有線程都是平等的,每個都獲得和處理自己的請求,但由于缺少派遣者,請求到來線程不能處理,可以通過維護一個作業隊列,掛起的作業保存在作業隊列中使用這種組織結構,線程在查看系統郵箱前應先查看作業隊列郵 箱工作者線程文件服務器進程工作請求達到管道線模型第一個線程產生一些數據傳給下一個線程處理。數據持續從一個

4、線程傳到另一個線程,經過的每一個線程都進行處理。郵 箱工作者線程文件服務器進程工作請求達到多線程的優點:n多客戶端有用一個客戶端將一個文件復制到多個服務器n與RPC或通信無關并行處理程序編寫比較容易n可以在同一地址空間的不同CPU中并行運行三、線程包的設計問題線程包:與線程相關的用戶可得的原語集線程管理:靜態多線程程序編寫或編譯時就要決定選擇多少線程,每個線程分配一個固定的堆棧簡單但不靈活動態多線程線程在運行過程中動態地創建和回收線程結束的兩種方式完成時自動退出被外界終止:如文件服務器進程線程共享存儲器的操作打開互斥體如果一個或多個線程由于互斥體被鎖住而阻塞,則只能打開其中的一個,其余的繼續等

5、待鎖住互斥體如果一個互斥體處于打開狀態,它將僅僅用一個原子操作鎖住互斥體。試鎖嘗試鎖住互斥體,如果互斥體是打開狀態,則試鎖將返回成功的狀態標志碼,否則,返回失敗的狀態碼但不阻塞線程條件變量互斥體用于短期加鎖,以監視進入臨界區;條件變量是用于長時間等待直到資源可用線程的代碼通常由多個過程構成,局部變量和參數不會產生任何麻煩,但相對于線程的全局變量而不是相對于整個程序的全局變量會產生麻煩解決辦法禁止使用全局變量給每個線程分配它自己的私有全局變量引入新的庫過程來創建、設置和讀取這些線程全局變量四、實現一個線程包在用戶空間中實現線程特點:n用戶級的線程包能夠在不支持線程的操作系統中實現n線程切換比使用

6、內核陷阱要快n允許每一個進程有自己定制的調度算法n阻塞調用的實現存在問題,非阻塞系統調用將需要修改現存的許多用戶程序n線程產生頁面錯時,內核將阻塞整個進程的執行1.用戶級線程中同一進程內部線程的切換的實現存在困難在內核中實現線程特點:調度者行為模擬內核線程的功能,像用戶空間內實現的線程包一樣有更好的性能和更大的靈活性,特別地,用戶線程不必發出特殊的非阻塞系統調用或者事先檢查發出某個系統調用是否安全;當一個線程由于系統調用或頁面錯阻塞時,若其他線程就緒,系統可以運行同一進程呢感中的其他線程特點:通過避免在用戶空間和內核空間進行不必要的切換實現高效率五、線程和遠程過程調用(RPC)大量的RPC調用

7、是調用與它們在同一機器上的進程可以使一個進程中的線程以一種比普通方法更有效的方法調用同一機器上的另一進程中的線程n當服務器線程S啟動時,輸出它的接口告訴內核,這個接口定義了哪些過程及其相關參數,當客戶線程C啟動時,從內核輸入該接口,獲得用于調用的特殊標志。內核現在知道C以后將調用S,并且創建特殊的數據結構為調用做準備n當一個新消息進入服務器時,內核動態創建一新線程去為此請求服務,并把消息映像到服務器地址空間,然后建立新線程的堆棧來存取該消息特點:線程不會因等待新任務而阻塞,不必保留環境創建新線程比存儲一個存在的線程花費少因為不需在服務器線程4.2 系統模型傳統系統中只有一個處理機,進程在處理機

8、上運行不會出現怎樣利用處理機的問題。而在多處理機中成為一個主要的設計問題分布式系統中的系統模型n工作站模型(Workstation model)n處理機池模型(processor poor model)n混合模型一、工作站模型系統是由分布在建筑物中或校園中并由高速局域網連接起來的工作站構成的工作站類型:無盤工作站價格便宜容易維護無磁盤的風扇產生的噪音對稱性和靈活性有盤工作站分頁和臨時文件分頁、臨時文件和系統二進制文件分頁、臨時文件、系統二進制文件和文件緩沖完整的局部文件系統分頁和臨時文件所有用戶文件保存在中央文件服務器中,文件利用磁盤分頁和存儲臨時文件(臨時的、不能共享的、并在登陸會話結束后丟

9、棄的文件)分頁、臨時文件和系統二進制文件在第一種模型的基礎上可以保存二進制文件,從而減少網絡負擔。為了保持各工作站上的文件版本的一致性,需要相關管理乘隙進行跟蹤用戶程序的版本號分頁、臨時文件、系統二進制文件和文件緩沖保持長期集中存儲,并且可以通過使用文件時把它們保存在本地的方法而減少網絡負載,但需保持緩沖一致性完整的局部文件系統每臺機器基本上是獨立的并與外界進行有限的聯系,但共享困難磁盤使用優點缺點無盤成本低,軟硬件容易維護,對稱靈活網絡使用頻繁,文件服務器可能成為瓶頸分頁,可檫除文件和無盤相比,使網絡的負擔更輕由于需要大量的磁盤,費用比較高分頁、過期文件,二進制文件使網絡的負擔更輕費用比較高

10、,二進制的更新比較復雜分頁、過期文件,二進制文件,緩沖減輕網絡和文件服務器的負擔費用比較高,存在cache一致性的問題完全本地文件系統幾乎沒有網絡負擔,不需要文件服務器失去了透明性工作站模型的缺點:處理機芯片不斷下降工作站配備多個CPU將變得經濟可行用戶大多數時間不使用工作站大多數用戶擁有資源但沒有利用,少量用戶對資源的需要緊張,造成資源的分配不合理二、使用空閑工作站最早嘗試使用空閑工作站:Rsh machine command在指定機器上運行指定的命令可以利用空閑工作站但:n用戶必須指明機器名稱,n用戶程序在遠程機器的不同于本地機器中的環境上運行n若用戶登陸到正在運行的空閑機器上,造成新登陸

11、用戶的低性能使用工作站模型的關鍵問題:1。怎樣找出一臺空閑機器2。遠程進程怎樣透明地運行3。若空閑機器的主人回來重新使用它時怎么辦怎樣找出一臺空閑機器定位空閑工作站的方法服務器驅動工作站空閑時,將其名字、網絡地址和屬性輸入到某注冊文件工作站空閑時在網絡上廣播發送消息申明其可用性,但需要所有的機器維護注冊文件服務器驅動存在競爭危險遠程管理者注冊注冊表宿主機空閑工作站21435697.8.1。機器空閑注冊2。請求空閑工作站 并得到應答3。申請機器4。使注銷5。設置環境6。啟動進程7。進程運行8。進程退出9。報告始發者客戶端驅動申請端廣播發送請求說明其需要運行的進程,內存需求等詳細信息,工作站接收到

12、消息后經過一段與工作站當前負荷成正比的延遲后返回應答消息,申請端接收到返回應答時,從中挑選一個并啟動運行(負載最輕的工作站應答最先返回)遠程進程怎樣透明地運行程序運行時運行環境必須一致開始運行時需要同樣的文件系統、工作目錄、條件變量。無盤工作站訪問文件服務器;有盤工作站需要將請求返回到宿主機上執行某些系統調用必須返回宿主機讀鍵盤、寫屏幕、所有查詢機器狀態的系統調用都必須在進程真正的機器上運行等與時間有關的系統調用可能因機器時鐘不同步而出問題其他復雜問題寫臨時文件機器主人回來怎么辦?n什么也不做簡單,不切實際,應該保證機器對于機器主人的響應n殺掉正在進入的進程所有的工作信息會丟失,并且可能造成文

13、件系統的混亂狀態n將進程移植到另一臺機器上因為搜索和收集待移植的進程相關的內核數據結構比較困難,在實踐中很少使用環境必須清理:進程移植所有子進程以及子進程的子進程也需要移植郵箱、網絡連接和其他系統范圍的數據結構也必須刪除,并且制定一些規定,用來忽略相關的消息清理本地臨時文件清理緩存信息三、處理機池模型處理機池模型是通過建造處理機池,根據需要動態地分配給用戶,用戶個人工作站為高性能的圖形終端可在固定資金下提供更多的計算能力允許簡單的線性增加將計算能力集中在一個處理機池中的最有力根據是排隊論:用戶隨機地請求服務器工作,當服務器忙時,用戶排隊等待服務,并依次給予服務設每秒從用戶來的總輸入請求速度為,

14、 為系統處理請求的速度,為了達到穩定處理,必須 。則發出請求和得到完全響應之間平均的時間間隔T與 , 的關系為:T = 1 / ( )例如:一個文件服務器每秒能處理50次請求,而每秒只接收40次請求,則平均響應時間為 1/10 秒或100ms, 當為0時(沒有負載),文件服務器的響應時間為1/50秒。用戶用戶用戶計算機完成工作輸入隊列用戶每秒共產生個請求系統每秒能處理個請求圖4-12 一個基本的排隊系統假設我們有n個私有多處理機,每個有多個CPU,每個都成為一個請求到達速度為的獨立排隊系統,并且CPU的處理速度為 ,平均響應時間為T,若將所有的CPU放在一個處理機池中,則對應系統的輸入率為 n

15、 ,服務率為 n 。將這個合成系統的平均響應時間記為T1。根據上面公式,可以得到:T1 = 1 / ( n n ) = 1/n 1/ ( ) = 1/n T = T/n結論:用一個是小系統功能n倍的大系統來代替n個獨立的小系統的資源可把平均響應時間減少為原來的1/n 原因:通常情況下,只有少數服務器繁忙或過載,大多數空閑,處理機池模型就是減少了這種時間的浪費。排隊理論的結論就是根本反對分布式系統的論據之一工作站模型與處理機模型的比較:n處理機模型價格昂貴,成本高平均響應時間要小有利于運行大的仿真程序排隊論的假設僅當所有的請求分配在所有的處理機上并行處理時才是正確的對于機器主人回來后的問題處理比

16、較方便適合于需要大規模的計算(大型軟件開發、大型模擬、大矩陣的計算等)n工作站模型用戶響應時間恒定成本低,易于擴充適合于負荷較小的處理四、混合模型提供每個用戶一個私有工作站并附加處理機池為了保證時間,交互式工作在工作站上運行,所有的非交互式進程運行在處理機池中。這種模型具有快速的交互響應、有效的資源利用和簡單的設計4.3處理機分配一、分配模型處理器分配:不可遷移當創建新進程時,系統決定為該進程分配處理機,一旦分配完畢,進程將一直在這臺處理機上運行,直至結束可遷移可以將已經開始的進程遷移到別的處理機上繼續運行處理機分配的目標:CPU利用率最大化平均響應時間最小化/最小化響應率響應率:一臺機器上運

17、行一個進程的時間除以這個進程在一個無負載的標準處理機上運行時因該花的時間二、處理機分配算法的設計問題n確定性與啟發性算法確定性算法適用于當進程的所有行為都是實現知道的情況,但只有極少數系統的所有信息是預先知道的另一個 是系統的負載是完全不可預測的,工作請求可能每分鐘都會發生很大的變化,處理機分配只能使用特別的啟發性算法n集中式與分布式算法將所有信息搜集到一個地點便于做出更好的決定,但系統不夠健壯,中心機器的負載過重n最優與次優算法最優解的計算代價比次優解的計算代價要大得多n本地與全局算法本地算法:若機器的負載低于某個閥值,就讓該進程在這臺機器上運行,否則就清除該進程算法簡單,達不到最優全局算法

18、:在對本地機器是否太忙作出決定前,能夠為該進程搜集到其他地方的信息,根據所有的負載情況決定是否在本機上運行該進程代價大n發送者發起與接收者發起算法發送者發起:將一些新進程卸載到其他機器上接收者發起:找到一臺愿意給它一些事情做的機器機器判斷其負擔重發送者尋找空閑機器機器宣告其可用接收者尋找工作做請求幫助機器負擔過重機器空閑三、處理機分配算法的實現問題測量負載的方法:根據機器的進程數量作為其負載情況根據運行或就緒狀態的進程計數采用CPU忙的時間所占的比例核心程序運行可能造成低CPU的利用率處理額外開銷:一個好的算法應該考慮到算法本身所占用的CPU時間、內存的使用以及網絡帶寬復雜性:軟件的復雜性對系

19、統性能、正確性和健壯性的影響:隨機選擇一臺機器;算法1:直接發送算法2:詢問機器是否過載算法3:詢問K臺機器,確定它們的確切負載情況,新進程發送最小負載機器穩定性不同機器異步運行,系統很少平衡四、處理機分配算法舉例n圖論確定性算法構成系統的進程已知其CPU和內存要求,并知道系統中每對進程之間的平均通信量,若系統的CPU數量小于進程數,則要求將多個進程指派到同一個CPU,算法的思想是使這種指派能夠使網絡的通信量最小化CPU1CPU2CPU3GEABCDIHF32345381224642313個處理機分配9個進程的兩種方法CPU1CPU2CPU3GEABCDIHF3234538122464231一

20、個集中式的算法協調者保存各工作站的使用情況表(每個工作站一個條目),根據使用情況表決定處理機的分配創建進程時,若創建進程的機器認為該進程應到其他的機器上運行,則將請求協調者分配處理機,若有則準許該請求,否則拒絕該請求當一個工作站用戶在其他機器上運行進程時,其罰分增加,每秒增加一個固定值,當有被拒絕的請求時,將從使用情況表中減去罰分,當沒有等待的請求,處理機也未被使用時,將移去一個值結論:一個等待了很久的、沒有使用任何處理機的申請將總會優先于已經占用了許多處理機的事情,從而公平地分配系統資源但中央節點可能在大型系統中成為瓶頸0進程2完成進程1完成進程2分配處理機進程1分配處理機進程2到達進程1到

21、達圖4-16 上下算法的操作時間層次式算法對每組K個工作,分配給管理者一個任務,跟蹤機器的使用情況,若系統比較大,則將會有更多的管理者,在眾多的管理者中設置高層管理者,形成層次關系問題:管理者崩潰避免單個管理者 發送者發起的分布式啟發性算法當創建進程時,創建進程的機器將對一個隨機選取的機器發送詢問,檢查該機器的負載是否低于某個閥值,若是則發送進程,否則選擇其他機器進行相應的動作,在N次詢問后還沒有合適的機器,算法將停止,新進程在它的機器上運行接收者發起的分布式啟發性算法當一個進程結束時,系統將檢查自己是否有足夠的工作可做,若不是,將隨機向一臺機器申請工作,若沒有,系統將繼續詢問其他機器,在連續

22、N此詢問都沒有申請到工作時,系統暫時停止申請,開始處理系統隊列中一個等待的進程,當這個進程結束時,再開始新的申請,若系統無事可做則將進入空閑狀態,一定的時間后,從新開始申請。投標算法思想:試圖將計算機系統變成小型的經濟社會,由買賣雙方和需求關系確定的價格組成每個處理機在一個公共可讀文件中公布其近似價格,價格根據處理機速度、內存容量、浮點運算能力以及其他特性決定處理機價格新進程通過查詢現在有誰在提供它所需要的服務,然后確定一個它可以支付的處理機集。通過計算,將從這個集合中選出一個最好的,根據應用程序的不同,最好的可以指最便宜的、最快的或最高性能價格比的,然后向第一選中的處理機發出出價處理機收集所

23、有出價后,作出決定,通知被選中的和未選中的進程,并開始執行被選中的進程,公共文件中此處理機的價格將被更新為最新價格4.4 分布式系統調度時間片010AC1BD2AC3BD4AC5BD01234567012345處理機時間片兩個有聯系的作業不協調的運行情況8個處理機、每個分為8個時間片的調度矩陣4.5 容錯失效:系統不能達到應達到的技術要求一、組成部件錯誤暫時性錯誤發生一次后消失間斷性錯誤錯誤出現后,自動消失,然后又出現,自動反復永久性錯誤在錯誤部件修理好之前一直存在 和構造容錯系統的目標是要確保即使在錯誤發生的情況下,整個系統也能夠繼續正常運行一個部件在規定的一秒時間內的失效概率為p,則連續k

24、秒正常工作,然后再失效的概率為p(1-p)k 。失效發生的期望值為:ppkpkk/1)1 (11失效發生平均時間二、系統失效nFail-silent 錯誤失效的處理機只是停止工作,對接下來的輸入不作反應也不產生進一步的輸出nByzantine 錯誤出錯的處理機繼續運行,產生問題的錯誤答案,并可能和其他出錯的處理機一起“惡意”地工作,給人一重正常運行的假象處理Byzantine 錯誤比Fail-silent 錯誤更加困難三、同步系統與異步系統同步系統總能在一個已知的限定時間內對一條消息進行響應異步系統無法確定一條消息的響應時間具體為多少四、使用冗余解決容錯的辦法是使用冗余技術:信息冗余增加額外數

25、據位以使出錯的數據完全恢復時間冗余動作執行后,必要時可再次執行物理冗余要使用額外物理部件以使整個系統能容許一些部件的損失或失效冗余處理機的辦法:主動復制 所有處理機在所有時間內都是服務器使用主機后備 僅使用一個處理機作為服務器,當其失效時用另一個后備機器來替換兩種方法的問題:n需要復制的程度n沒有錯誤時,平均情況和最壞情況的性能1.發生錯誤時,平均情況和最壞情況下的性能五、使用主動復制方法的容錯使用物理冗余來提供容錯的技術ABCA1A2A3B1B2B3C1C2C3三模冗余系統需要多少份復制取決于想要達到的容錯量K容錯:系統可在k個部件出錯后仍能夠達到系統的設計要求而正常工作Fail-silen

26、t錯誤,則有k+1個部件可以達到要求Byzantine錯誤,則需要2k+1個部件才能達到k容錯前提條件:所有的請求達到所有服務器的順序應相同,即原子廣播問題六、使用主機后備的容錯在任何時刻都有一臺服務器完成所有的工作,若主服務器失效,后備的服務器將承擔其所有任務特點:在正常工作時,消息只發送給一個服務器,簡單,也不存在消息排序問題實際應用中所需機器也少得多在出現Byzantine錯誤時,產生假象,而恢復一個失效的主機也是復雜和耗時的客戶主服務器后備服務器1.請求2.工作6.響應5.確認4.工作3.更新圖、寫操作簡單主備份協議問題:主服務器在響應客戶請求前崩潰;沒問題,客戶超時重發主服務器在更新

27、前崩潰;后備機成為主機,客戶再次發送請求,但如處理具有副作用,則會產生問題系統在第四步后在6前崩潰客戶請求可能執行三次處理操作主機-后備機的切換:n后備機定期向主機詢問狀態n后備機取代主機,主機變為后備機n后備機強行停止或重啟主機n共享磁盤七、容錯系統中的協同一致分布式協同一致算法的目標是使所有無故障處理機對待某些問題的意見達到一致,并在有限的步驟內進行處理存在的問題:n消息傳遞的可靠性n進程崩潰,是fail-silent 錯誤還是Byzantine錯誤1.系統是同步還是異步兩軍作戰問題要求:兩對蘭色軍隊同時攻擊紅色軍隊,才能取勝,否則失敗問題:利用不可靠通道進行通信,在消息傳遞正常的情況下兩

28、進程達成協同一致是不可能的Byzantine將軍問題N個藍軍中有m個叛徒,采用可靠通信機制進行通信,要求忠誠將軍達成協同一致問題可變化為N個將軍交換各自的軍隊人數圖、3個忠誠將軍和一個叛變將軍的Byzantine將軍問題(a) 各個將軍通報各自部隊的戰斗力(1K為單位)(b) 每個將軍根據(a)匯編出的向量(c) 每個將軍從第二步得到的向量1234有問題的處理器XYZ1 Got(1,2,x,4) 1 Got 2 Got 3 Got2 Got(1,2,y,4) (1,2,y,4) (1,2,x,4) (1,2,x,4)3 Got(1,2,y,4) (a,b,c,d) (e,f,g,h) (1,2

29、,y,4)4 Got(1,2,z,4) (1,2,y,4) (1,2,z,4) (i,j,k,l)abc步驟:n每個將軍發送可靠消息給其他所有的將軍,聲明自己的軍隊人數n將第二步聲明的結果收集組成向量形式n每個將軍將收集的向量傳遞給其他每一個將軍1.每個將軍檢查所有新接收向量的每一個元素,若有某個值占多數,則將該值放入結果向量中圖、2個忠誠將軍和一個叛變將軍的Byzantine將軍問題沒有一個忠誠將軍認為元素1,2,3中占多數,無法判斷123有問題的處理器XY1 Got(1,2,x) 1 Got 2 Got 3 Got2 Got(1,2,y) (1,2,y) (1,2,x) (1,2,x)3

30、Got(1,2,y) (a,b,c) (e,f,g) (1,2,y)abc結論:n有m個處理機出錯的系統中要實現協同一致,只有當有2m+1個正常處理機時才可能,處理機總數為3m+1。只有大于2/3的處理機正常工作時,協同一致才可能。n對一個具有異步式處理機和對傳輸時延沒有限制的分布式系統,由于不可區別特別慢的或失效的處理機,因此,哪怕只有一個處理機失效,協同都是不可能的。4.6 實時分布式系統一、什么是實時系統實時系統同外部世界交互,其中涉及時間,當某個激勵出現時,系統必須以一定的方式和在限定的時間內響應,若返回結果正確,但已超時,系統也認為失效。實例:播放音樂要求實時許多涉及外部世界的其他應

31、用,也是實時的實時系統的激勵通常是周期的,有時激勵是非周期的,激勵也可是突發性的在大的周期性系統中,其復雜性表現于存在著多種事件分布式實時系統的構造CCDevCDevCDevCDev傳感器執行機構網絡根據時限的嚴格程度和超過限制時間的后果的嚴重性。通常將實時系統分為:軟實時系統可以偶爾錯過時限硬實時系統不允許任何一個實時請求超過時限對于實時系統的誤解:n是用匯編代碼來編寫的驅動程序n是快速計算1.告訴的計算機將使實時系統過時無用二、設計問題時鐘同步在多計算機情況下,每臺機器的時間不一樣,保持時間同步是一個關鍵問題事件觸發系統與時間觸發系統事件觸發系統當許多事件一次性發生時,引起大量的中斷,產生

32、時間風暴,可能導致計算機崩潰在低負荷時會更快響應,但在高負載時會更加過載時間觸發系統不會存在事件風暴,但對于時間間隔的選取必須非常小心適應于相對靜態環境預知性理想情況下,設計時應清楚系統能夠滿足的所有時限,甚至是最大負載時限。容錯性許多實時系統控制著安全關鍵設備,因此容錯是非常普遍的問題,可以采用主動復制,但僅限于不存在有擴展的協議讓所有的部分在任何時間,任何事件上都必須進行協同一致。主機后備方法因機器切換時間開銷可能會超過時限而很少使用容錯實時系統必須能同時處理最大量設備失效和最大量負載的情況可安全停機的fail-safe系統:當出現嚴重問題時能夠強制停止執行語言支持設計專用程序設計語言專用

33、語言應在編譯時能計算出每個任務的最大執行時間語言應有表達最小和最大延遲的方法能表示當期待的時間在限定時間內未發生時該做什么的方法提供處理周期性事件的語句Every(25 msec)三、實時通信預知性與確定性是實時系統成功的真正關鍵在實時系統中實現可預知性,要求處理機之間的通信是預知的,但LAN網絡協議(以太網)中未提供傳輸時間的上限,因此不可能事先給出最大時限令牌環LAN:網絡中有K臺機器,每臺機器在捕獲令牌時最多可發送含n個字節的信包,因此可知時間上限,同時也能處理多優先級系統的通信問題TDMA(時分多路)協議,通信以固定大小的禎組織,含n個時隙,每個時隙分給一個處理機進行發送信包廣域網實時分布式系統存在信包丟失率相對較高的問題,標準協議處理方法:在傳送每一個傳輸信包時設置一個定時器,若定時器在信包確認消息收到之前走完,就重發信包。這種無限的傳輸延遲是無法接受的發送者的簡單解決辦法:總傳輸信包兩次(或多次),若可選擇,最好是通過相互獨立的連接浪費帶寬,但可靠時間觸發協議(TTP)TTP應用在MARS實時系統MARS系統的節點包含多個CPU,對外呈現單一的容錯,fail-silent型節點,節點間通過兩個可靠的和獨立的TDMA廣播網連接,所有信包在兩個網中并行發送。MARS是一個時間觸發系統,時鐘必須同步所有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論