《分布式操作系统》知识点(29~34)五
(4)8 P160:(4)代表該道題屬于第4章的內容,8是題號(第8題),P160是該習題在書中的大體頁碼。
29在分布式操作系統中,說明單內核的含義,并說明為什么采用微內核技術,通常微內核提供應提供哪些服務?PPT Ch1P21
答:單內核:每臺機器都運行一個傳統的內核,內核自身提供了大多數的服務。單內核:集中式操作系統+網絡服務和遠程服務。單內核系統唯一潛在的優點是性能。
微內核:內核盡可能少的提供服務,大量的操作系統服務可從用戶級服務器上獲得。 微內核具有更好的靈活性。
微內核只提供四種最小的服務:1.進程間通信機制 2.某些內存管理功能 3.少量的低層進程管理和調度 4. 低層輸入/輸出服務。
?
30解決可伸縮性的技術包括隱藏通信延遲、分布和復制,試舉例說明分布和復制技術是如何解決可伸縮性的。P10
答:分布技術:把某個組件分割成多個部分,然后再將它們分散到系統中去。使用分部技術的一個例子是因特網DNS,DNS名字空間是由域(domain)組成的分層樹狀結構,域又劃分為互不重疊的區(zone)。每個區內的名字都有單個域名服務器處理。從根本上來說,解析一個名字意味著返回與該名字相關聯的主機的網絡地址。把DNS提供的命名服務分布到多臺計算機上進行,避免了單個服務器不得不處理所有名字解析請求所面臨的困境。
復制技術:將副本分布到系統各處通常是一個好辦法。復制不僅能夠增加可用性,而且還有助于組件間的負載平衡,從而使性能得到提高。同樣,對于在地域上比較分散的系統來說,在請求者附近有一份副本可以在很大程度上隱藏前面提到的通信等待時間的問題。例如一個中型或大型公司往往由地理上分散的部門所組成,這些部門通常需要進行數據共享。利用數據復制技術可以實現數據共享,它通過將這些共享數據復制到位于不同地點的多個數據庫中,從而實現數據的本地訪問,減少了網絡負荷,并提高了數據訪問的性能,而且通過對數據庫中的數據定期同步(通常是每天晚上),從而確保了所有的用戶使用同樣的、最新的數據。
?
31在分布式系統中,軟件體系結構是一個非常重要的概念,涉及如何組織軟件成分及如何交互等,詳細說明四種Architectural Style。P24
答:四種體系結構的樣式:
(1)?????分層體系結構;
(2)?????基于對象的體系結構;
(3)?????以數據為中心的體系結構;
(4)?????基于事件的體系結構。
分層體系結構:組件組成了不同的層,其中Li中的組件可以調用下面的層Li-1。一個關鍵因素是,其控制是從一層到另一層的:請求是從上往下,而請求結果則是從從下往上。
基于對象的體系結構:是一種很松散的組織結構。基本上,每個對象都對應一個組件,這些組件是通過(遠程)過程調用機制來連接的。分層和基于對象的體系結構仍然是大型軟件系統最重要的樣式。
以數據為中心的體系結構:是從這種思想中發展而來的:進程通信需要通過一個公用(被動或主動的)倉庫。對分布式系統來說,認為這種體系結構與分層和基于對象的體系結構同等重要存在爭議。
基于事件的體系結構:進程基本上是通過事件的傳播來通信的的,事件傳播還可以哈有選擇地攜帶數據。對分布式系統來說,事件傳播通常與發布/訂閱系統有關。其基本思想是,進程發布事件,然后中間件將確保那些訂閱了這些事件的進程才接收它們。基于事件的系統的主要優點是,進程是松耦合的。從原理上說,它們無需明確地引用對方,這又稱為是引用去耦的。
?
32客戶機服務器應用可以將軟件成分分為三層,說明每一層的作用,并說明Internet搜索引擎是如何按三層結構組織軟件成分的。P26、P27
答:可以將軟件成分分為三層:
(1)?????用于接口層;
(2)?????處理層;
(3)?????數據層。
用戶接口層:含有直接與用戶交互所需的一切,負責處理與用戶的交互。例如,顯示管理。客戶通常實現用戶接口層,該層由允許終端用戶與應用程序交互的程序組成,復雜的用戶接口程序之間區別很大。
處理層:通常包含有應用程序的核心功能。
數據層:管理要使用的實際數據,負責操作數據庫或文件系統。
如果忽略掉所有的動畫標語、圖像和其他窗口修飾,搜索引擎的用戶接口非常簡單:用戶輸入關鍵字字符串,然后顯示出Web網頁的列表。后端是由一個巨大的Web網頁數據庫組成,這些Web網頁是預取的,且已加索引。搜索引擎的核心是把用戶的關鍵字字符串轉換為一個或多個數據庫查詢的程序。它可以把結果排名成一個列表,并把列表轉換成HTML頁面列表。在客戶-服務器模型中,這種信息檢索部分往往是放在處理層。
?
33 P2P是典型的非集中式體系結構,說明在結構化P2P系統中如何組織節點和數據,如何查找數據,如何進行成員管理。P31
答:在結構化P2P體系結構中,覆蓋網絡是用一個確定性的過程構成的。這個使用最多的進程是通過一個分布式哈希表來組織進程的。在基于DHT的系統中,從一個大的標識符空間中選取一個隨機關鍵數賦給該系統中的結點。根據某種距離尺度把數據項的關鍵值唯一地映射給結點的標識符。最重要的是,當查找數據項時,會返回對應數據項的結點的網絡地址。這就可以通過把數據項的請求路由給相應的結點來完成。
每個結點有維護到其他結點的捷徑,這樣查找工作可以在O(log(N))步完成,其中N是覆蓋網絡中的結點數。在Chord中,如果某個結點要加入該系統,它首先生成一個隨機標識符。然后,結點就可以進行一個對id的查找,返回網絡地址succ(id)。此時,所加入的結點只需與succ(id)及其前繼者聯系,并把自己加入到該環中即可。當然,這種方案需要每個結點都存儲了其前繼者的信息。插入操作還得使得succ(id)轉移到其關鍵值與結點id相關聯的每個數據項中。離開結點也很簡單:結點id告知其前繼者和后繼者它要離開,并把其數據項轉移給succ(id)。
?
34 BitTorrent系統采用了集中與分布相結合的體系結構,說明BitTorrent系統的主要構成成分,并說明其工作原理。P37
答:BitTorrent Web頁面:Web服務器,含有指向文件服務器的引用。
?????? .torrent文件:文件服務器,含有指向跟蹤器的引用,含有要下載特定文件的信息。
?????? 跟蹤器:存儲了F的結點列表,保持有活動結點的精確記錄,而這些結點具有所請求的文件塊。
?????? 活動結點:當前正在下載另一個文件的結點
文件共享系統BitTorrent是一個點對點文件下載系統。其基本思想是,當一個終端用戶要查找某個文件時,他可以從其他用戶那兒下載文件塊,知道所下載的文件塊能夠組裝成完整的文件為止。一個重要的設計目標是確保協作性。只有當下載客戶為他人提供了內容,文件才能下載。
?????? 要下載一個文件,用戶需要訪問一個全局目錄,它只是執行Web站點中的一個。這種目錄含有指向名為.torrent文件的引用。一個.torrent文件含有要下載特定文件的信息。特別地,它指向一個跟蹤器。這是一個服務器,它保持有活動結點的精確記錄,而這些結點具有所請求的文件塊。一個活動結點就是當前正在下載另一個文件的結點。通常,每個文件(或文件集)只有一個跟蹤器。
??? 一旦一個節點確定了從哪里可以下載文件塊,下載結點就變成了活動的。此時,它就被強制為其他節點提供幫助,例如,提供它正在下載但其他結點還沒有的文件塊這種強制性來自一個非常簡單的規則:如果結點P知道結點Q正在下載而不只是上傳,P就可以決定降低發送數據給Q的速率。只要P需要從Q那里下載,這種方案就能很好的工作。鑒于這個原因,結點往往有很多指向其他結點的引用,使得它們處于一個更好的位置來交換數據。
總結
以上是生活随笔為你收集整理的《分布式操作系统》知识点(29~34)五的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《分布式操作系统》知识点(22~28)四
- 下一篇: 《分布式操作系统》知识点(35~38)六