《分布式作業系統》知識點(22~28)四

來源:互聯網
上載者:User
註:

(4)8 P160:(4)代表該道題屬於第4章的內容,8是題號(第8題),P160是該習題在書中的大體頁碼。


(2)22 說明RPC的主要步驟,在形式說明書中輸入參數、輸出參數、輸入、輸出參數的含義是什麼,為什麼要這樣規定。如果伺服器是無狀態的,為什麼讀一個檔案的過程需要給出position參數。P48、P51、P56

答:RPC的主要步驟如下:

輸入參數是由客戶進程建立,傳遞給伺服器處理序的。輸出參數是由伺服器處理序建立,傳遞給客戶進程的。輸入輸出參數是由客戶進程建立,傳遞給伺服器處理序,伺服器處理序進行修改之後,傳回給客戶進程。

進程及進程的參數寫到形式說明書中,作為存根產生的輸入,以此來產生客戶和伺服器的存根並放到相應的存根庫中以供調用。

如果伺服器是無狀態的,則在一次請求響應之後,伺服器會刪除請求的全部資訊。若使用者開啟了一個檔案並對其進行了一定的操作,那麼下次再次請求此檔案並從上次的地方繼續操作就需要給出position參數,因為伺服器是不知道上次操作的位置的。

 

(2)23說明RPC的主要思想。在客戶發出請求後,客戶機正常,但未收到應答,應該是那些原因造成的。並說明在伺服器崩潰的情況下,可採用哪些方法處理。P57、P59

答:RPC的基本思想:調用遠程過程就像調用本地過程一樣。

原因:

①客戶無法定位服務器;

②客戶發送給伺服器的請求訊息丟失;

③伺服器發送給客戶的應答訊息丟失;

④伺服器在收到請求後崩潰;

⑤客戶機在發送請求後崩潰。

伺服器崩潰的處理方案:

①至少一次語義。等待伺服器重新啟動,然後重發請求。該方法要求不斷重試直至應答應答訊息來到並傳給客戶。這種技術稱為至少語義,它保證RPC至少執行一次,但也有可能執行多次。

②最多一次語義。立即放棄並報告失敗。它是最多一次語義,確保了RPC最多執行一次,但可能沒有執行。

③不作任何保證。當伺服器崩潰時,客戶得不到任何協助和保證。RPC可以不被執行或執行相當多次。這種方法的最大優點就是易於實現。

④精確一次語義。不容易實現。但此方法不是很成熟。

 

(2)24說明客戶/伺服器模式的主要思想,並說明在採用了阻塞的、有緩衝的、可靠的發送和接收原語的情況下,系統是如何工作的。P36、P42、P44、P45

答:基本思想:構造一個作業系統,由一組協同進程組成,這組進程稱為客戶(client),為使用者提供服務的進程稱為伺服器(server)。客戶和伺服器都運行在相同的微核心中。客戶和伺服器都以使用者進程方式運行, 一台機器可以運行於單個進程、多個客戶、多個伺服器或者兩者的混合。

其工作過程為:用戶端進程陷入核心調用send原語發送訊息後將進程掛起阻塞,等待訊息發送完成。伺服器端核心為接收進程建立一個郵箱,接收來自網路地址的訊息。核心調用receive原語從郵箱中取出訊息進行處理,若郵箱為空白,則阻塞接收進程。訊息被伺服器端核心放入郵箱後,伺服器端核心向用戶端核心發送一個確認訊息,用戶端核心收到來自伺服器端的確認後,確認訊息發送完成,啟用用戶端進程,即將控制權還給用戶端進程,用戶端進程繼續執行。伺服器端receive從郵箱取出訊息處理後將結果返回給用戶端進程,用戶端進程收到訊息後,用戶端核心發送確認給伺服器端核心,伺服器端核心收到確認後啟用伺服器端的發送進程。

 

(2)25客戶為了發送訊息給伺服器,它必須知道伺服器的地址,給出三種定址機制的基本原理,並說明三種機制存在的問題。P42

答:1.機器.進程編址方式:機器號和進程號,機器號用於使核心將訊息正確地發送到適當的機器上。進程號用來使核心決定訊息要給哪一個進程。

2.帶有廣播的進程編址(給系統造成額外負擔):進程在相當大且專用的地址空間中選擇自己的標識號。寄件者廣播一個特殊的定位包,包含目的進程的地址,所有核心檢查並察看地址是不是它們的,如果是回答“我在這裡”訊息給出網路地址,發送核心使用這個地址並“記住”它。

3.通過名字伺服器進行地址查詢(需要一個中間組件——名字伺服器):在客戶機中存放ASCII伺服器的名字,每次客戶機運行時,首先試圖使用伺服器,客戶機發出一請求訊息給一個特殊映射伺服器,(常常稱為名字伺服器)問一個目前伺服器所在的機器號,有了這個地址後,可以直接發送請求。

缺點:這些方法中的每一都有問題。第一種方法不透明,第二種方法會給系統造成額外負擔,第三種方法需要一個中間組件—名字伺服器。當然名字伺服器可以複製,但這樣做會帶來維護其資料一致性的問題。

 

(2)26在實現客戶機-伺服器協議時,需要哪些基本類型的包,說明每種包的源、目的地以及作用,並說明下圖的含義。P47

答:客戶機-伺服器協議中的包類型:

 

(1)27分布式系統的目標是給使用者一種錯覺,就像使用單一電腦一樣,這需要透明性支援,說明分布式系統支援的各種類型的透明性。P4

答:

種  類

含義

位置透明

使用者不知道資源位於何處

遷移透明

資源可以不改名地隨意移動

複製透明

使用者不知道有多少個拷貝存在

並發透明

多個使用者可以自動的共用資源

並行透明

系統活動可以在使用者沒有感覺的情況下並行發生

位置透明:是指在一個真正的分布式系統中,使用者不知道硬、軟體資源如CPU、印表機、檔案和資料庫的位置。資源的名字不應含有資源的位置資訊。所有像machine1:prog.c或/macchine1/prog.c之類的名字是不能接受的。

遷移透明:是指資源無須更名就可自由地從一地遷向另一地。

複製透明,系統就可以隨意地為檔案和其他資源進行附加拷貝而無須使用者知道。

並發透明,當兩個使用者試圖同時更新相同的檔案時,任一使用者不會發現其他使用者的存在。獲得這種透明類型的機制是:一旦某個使用者開始使用資源,系統就自動鎖定此資源,直到該使用者用完後再解鎖。在此方式下,所有資源只能串列使用,而不是並發使用。

並行透明:從理論上說,一個分布式系統在使用者面前的表現就像一個傳統的但處理機時分系統。系統活動可以再使用者沒有感覺的情況下並行發生。,然而目前的發展水平還不夠。其實在透明工作完成時,整個工作也就完成了,也就開始了新的領域。

訪問透明性:是指對不同資料表示方式以及資源訪問方式的隱藏。

重定位透明性:如果資源可以在接受訪問的同時進行重新置放,而不引起使用者和應用系統的注意。

故障透明性:使用者不會注意到某個資源(也許他從未聽說過這個資源)無法正常工作,以及系統隨後從故障中恢複的過程。

持久透明性:對資源位於易失性儲存空間中還是位於此盤上的隱藏。

 

28詳細分析影響分布式系統規模(Size)延展性的三個因素,即集中式的服務、資料和演算法。試舉例說明分布和複製技術是如何提高延展性的。(《分布式系統原理與範型》P8、P10)

答:可擴充性限制的執行個體:

概念

執行個體

集中式服務

供所有使用者訪問的單個伺服器

集中式資料

單個線上電話薄

集中式演算法

根據完整的資訊來安排路由

許多服務是以集中方式實現的,它們由分布式系統中一台特定的電腦上啟動並執行單個伺服器來提供。這種方案存在的問題是顯而易見的:使用者增多時該伺服器將成為系統的額瓶頸。即使它擁有無限的處理能力和儲存能力,當系統到達一定規模後與該伺服器的通訊也將發生困難,從而使系統規模無法繼續增長。

集中式資料和集中式服務一樣有缺陷。如果我們要儲存5000萬人的電話號碼和地址,假如每條資料記錄佔50個字元,一個2.5GB的硬碟就可以提供足夠的儲存空間。但是,如果只用一個資料庫,無疑會使這個資料庫的進出通訊線路都充滿了資料。大量擁擠的資料大大降系統低效率和總體效能。

集中式演算法也存在缺陷。在大型分布式系統中,海量的資訊必須在許多線路之間進行路有傳送。從理論上說,完成這種傳送工作最好的辦法是手機關於所有電腦及線路負載的完整資訊,然後利用圖論的演算法來計算最優的路由線路,計算結果隨即應用到系統中以改善資訊路由的效能。但是,收集並傳送所有的輸入和輸出資訊的做法本身就有弊端,因為這些資訊會造成部分網路過載。

分布技術:把某個組件分割成多個部分,然後再將它們分散到系統中去。使用分部技術的一個例子是網際網路DNS,DNS名字空間是由域(domain)組成的分層樹狀結構,域又劃分為互不重疊的區(zone)。每個區內的名字都有單個網域名稱伺服器處理。從根本上來說,解析一個名字意味著返回與該名字相關聯的主機的網路地址。把DNS提供的命名服務分布到多台電腦上進行,避免了單個伺服器不得不處理所有名字解析請求所面臨的困境。

複製技術:將副本分布到系統各處通常是一個好辦法。複製不僅能夠增加可用性,而且還有助於組件間的Server Load Balancer,從而使效能得到提高。同樣,對於在地區上比較分散的系統來說,在要求者附近有一份副本可以在很大程度上隱藏前面提到的通訊等待時間的問題。例如一個中型或大型公司往往由地理上分散的部門所組成,這些部門通常需要進行資料共用。利用資料複製技術可以實現資料共用,它通過將這些共用資料複製到位於不同地點的多個資料庫中,從而實現資料的本地訪問,減少了網路負荷,並提高了資料訪問的效能,而且通過對資料庫中的資料定期同步(通常是每天晚上),從而確保了所有的使用者使用同樣的、最新的資料。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.