分散式系統原理與范型

分散式系統原理與范型

《分散式系統原理與范型》是2008年由清華大學出版社出版的圖書,該書作者是Andrew S.Tanenbaum、Maartenvan Steen,譯者是楊劍峰、常曉波、李敏。

基本介紹

  • 書名:分散式系統原理與范型
  • 作者:Andrew S.Tanenbaum、Maartenvan Steen 
  • 譯者:楊劍峰、常曉波、李敏 
  • ISBN:9787302172796
  • 定價:68.00元
  • 出版社清華大學出版社
  • 出版時間:2008年
  • 開本:16開
內容簡介,作品目錄,

內容簡介

本書是Tanenbaum先生對所著的《分散式作業系統》的升級更新,是分散式系統的權威教材。全書分為兩部分:原理和范型。第一部分詳細討論了分散式系統的原理、概念和技術,其中包括通信、進程、命名、同步、一致性和複製、容錯以及安全。第二部分給出了一些實際的分散式系統:基於對象的分散式系統、分散式檔案系統、基於文檔的分散式系統以及基於協作的分散式系統,介紹了一些實際系統的設計思想和實現技術。全書結構清晰,內容全面經典,系統性與先進性並茂。
本書適用對象廣泛。對於學習分散式計算機的本科生和研究生,本書是優選教材。對於從事分散式計算研究和工程套用的科技人員和工程技術人員,本書也是一本優秀的基礎性讀物。

作品目錄

第1章緒論1
1.1分散式系統的定義1
1.2目標3
1.2.1讓用戶連線到資源3
1.2.2透明性4
1.2.3開放性6
1.2.4可擴展性7
1.3分散式系統的硬體12
1.3.1多處理器系統13
1.3.2同構式多計算機系統15
隨著計算機網路,特別是Internet的迅猛發展,傳統的信息系統概念發生了巨大的變化,基於網路的分散式信息系統在各個領域得到了廣泛的套用,在整個社會生活中正發揮著日益突出的作用。Internet已經越來越多地成為構建信息系統的一個關鍵組成部分。如何在更為廣域和異構的計算環境中有效地發布和獲取信息,已成為亟待解決的問題。分散式系統正是解決了上述問題。
本書是Tanenbaum先生在所著的《分散式作業系統》的基礎上,總結了分散式系統方面的最新進展,重新撰寫的力作,是分散式系統的權威教材。本書循序漸進地、全面地、深入地講解了分散式系統的原理,並列出了大量的范型。本書的結構分為兩部分: 原理和范型。第一部分(第1~8章)詳細討論了分散式系統的原理、概念和技術,其中包括通信、進程、命名、同步、一致性和複製、容錯以及安全。第二部分(第9~12章)給出了一些實際的分散式系統,即基於對象的分散式系統、分散式檔案系統、基於文檔的分散式系統以及基於協作的分散式系統,介紹了一些實際系統的設計思想和實現技術。全書結構清晰,內容全面經典,系統性與先進性並茂。
本書的目標讀者是計算機及相關專業的高年級學生或研究生。從事分散式計算研究和工程套用的科研人員和工程技術人員也會從本書中受益匪淺。
本書是多人共同努力的成果,參與本書翻譯、審稿、錄排的人員包括: 楊劍峰、常曉波、梁金昆、張麗萍、汪青青、朱志博、李敏、李靜、李娟、張穎、朱劍平、劉穎、吳東升、楊戰偉、郭寧寧、李楠、聶晶、劉恆、劉敏、劉洋、呂喜熹、馬睿倩等。全書由楊劍峰、常曉波和李敏負責統稿。
限於譯者水平,難免有錯誤和疏漏之處,懇請讀者不吝指正。希望這本書能成為您工作的好幫手。
楊劍峰常曉波2004年5月前言本書的出發點是對Distributed Operating Systems一書進行再版修訂,但筆者很快就發現自1995年以來很多技術發生了改變,要完全體現出這些變化,僅僅對該書進行修訂是不夠的,而是需要寫一本全新的書。因此,這本新書有了一個新的標題: 《分散式系統原理和范型》。標題的改變體現了對重點的調整。雖然我們仍然討論一些作業系統的問題,WWW作為已建立的最大的分散式系統,在Distributed Operating Systems一書中完全沒有提到,因為它並不是一個作業系統。而在本書中,它幾乎占去整整一章。
本書分為兩部分: 原理和范型。第1章是對主題的總體介紹。接下來的第2~8章分別討論我們認為最重要的原理: 通信、進程、命名、同步、一致性和複製、容錯以及安全性。
實際的分散式系統通常是圍繞一些范型來組織的,例如“所有事物都是檔案”。接下來的第9~12章分別介紹一個不同的范型,並描述使用該范型的一些重要系統。涉及到的范型包括基於對象的系統、分散式檔案系統、基於文檔的系統以及基於協作的系統。
第13章包含一份附有說明的參考書目,可供該主題的進一步學習使用,還包含本書中引用的著作列表。
本書是作為計算機科學的大學高年級學生或研究生課程而編寫的。因此,本書有一個Web站點,站點中以各種格式放置了本書中用到的PowerPoint表和圖。要訪問該站點,在頁面上點擊本書標題即可。將本書作為教材使用的教授可以通過聯繫當地的Prentice Hall代理機構得到一本習題解答手冊。當然,本書也十分適合希望更多地了解這一重要主題的社會人士。
許多人以多種方式對本書作出了貢獻。我們尤其要感謝Arno Bakker、Gerco Ballintijn、Brent Callaghan、Scott Cannon、Sandra Cornelissen、Mike Dahlin、Mark Darbyshire、GuyEddon、Amr el Abbadi、Vincent Freeh、Chandana Gamage、Ben Gras、Bob Gray、Michael van Hartskamp、Philip Homburg、Andrew Kitchen、Ladislav Kohout、Bob Kutter、Jussipekka Leiwo、Leah McTaggert、Eli Messenger、Donald Miller、Shivakant Mishra、Jim Mooney、Matt Mutka、Rob Pike、Krithi Ramamritham、Shmuel Rotenstreich、Sol Shatz、Gurdip Singh、Aditya Shivram、Vladimir Sukonnik、Boleslaw Szymanski、Laurent Therond和Leendert van Doom,感謝他們閱讀了部分書稿並提出了寶貴意見。
最後,我們還要感謝我們的家庭。Suzanne已經經歷過很多次這樣的情況了。她從未說過“我受夠了”,儘管這個念頭肯定在她腦海里出現過。謝謝你!本書使用指南我們使用本書中的材料已經很多年了,主要是用作大學高年級學生和研究生的教材。而且,這些材料還曾經作為為時1~2天的有關分散式系統和中間件的研討會的基本資料,參加這些研討會的人包括ICT專家(技術上的)。下面是我們根據經驗對本書使用方式提出的一些建議。
大學高年級學生和研究生教材
如果作為大學高年級學生和研究生的教材,本書通常可以在12~15周內完成教學。我們發現,在大多數學生看來,分散式系統由很多似乎彼此緊密結合的主題所組成。在本書的組織上,我們按照不同的原理介紹這些主題,分別講授各個原理,這對學生領會重點內容有很大幫助。這樣安排的效果是當第一部分(第1~8章)結束時,即在討論范型之前,學生已經對本書主題在整體上有了一個相當好的把握。
然而,分散式系統的領域涵蓋許多不同的主題,其中一些主題在初次學習時很難理解。因此,我們強烈建議學生們隨著課程的進展學習適當的章節。從Web站點可以獲得所有PowerPoint表,將它們預先分發下去,以便學生在課堂中能夠積極參與討論。這種方法非常成功,並得到了學生們的高度評價。
所有的材料都包括在一個為時15周的課程中。大多數時間花費在講授分散式系統的原理,也就是前8章所包括的材料上。在討論范型時,我們的經驗是: 只需要介紹要點。直接從書中學習每個案例的詳細內容比在課堂上聽授更加容易。例如,儘管書中有關基於對象的系統的內容達80頁之多,但我們只用一周的時間講授這類系統。下面是一個課程進度安排建議表(表0.1),其中包括每次講座中包括的主題。表0.1課程進度安排建議周主題章講授內容1緒論1全部2通信22.1~2.33通信22.4~2.54進程3全部5命名44.1~4.26命名44.36同步55.1~5.2續表
周主題章講授內容7同步55.3~5.68一致性和複製66.1~6.49一致性和複製66.5~6.69容錯77.1~7.310容錯77.4~7.611安全性88.1~8.212安全性88.3~8.713基於對象的系統9全部14檔案系統10全部15基於文檔的系統11全部15基於協作的系統12全部並不是所有材料都需要在課堂上講授;我們希望學生能夠自學特定的部分,尤其是細節部分。在講授時間少於15周的情況下,我們建議跳過有關范型的章節,讓感興趣的學生自己學習這些部分。
如果用於低年級的課程,我們推薦將本書的學習延長至兩個學期,並增加實驗作業。例如,可以通過讓學生修改一些組件,使這些組件具有容錯性、處理多播RPC等功能來使學生理解簡單的分散式系統。
行業的專業研討會
在1~2天的研討會上,通常將本書作為主要的背景材料使用。然而,如果跳過所有細節,僅將重點放在分散式系統的本質上,則有可能在兩天內講完整本書。此外,要使內容的表達更加生動實用,有必要重新安排章節的順序,以提早說明原理是如何得到套用的。對於研究生來說,一般是在了解原理的套用之前(有時甚至根本不了解原理的具體套用)先對原理進行為期10周的學習,但專業人士如果能了解這些原理的實際套用,就會有更大的學習動力。下面是一個為期2天課程的試驗性進度表(表0.2),該表按照邏輯單元進行劃分。表0.2按邏輯單元劃分的課程進度第1天單元時間(分)主題章重點190緒論1客戶?伺服器體系結構260通信2RPC/RMI和訊息傳遞360基於協作的系統12訊息傳遞問題460進程3移動代碼和代理530命名4位置跟蹤690基於對象的系統9CORBA續表
第2天單元時間(分)主題章重點190一致性和複製6模型和協定260基於文檔的系統11Web快取/複製360容錯7進程組與2PC490安全性8基本思想560分散式檔案系統10NFS v3和v4個人學習
本書同樣也適用於個人學習。如果具有足夠的時間和動力,建議讀者仔細閱讀整本書。
如果沒有足夠的時間仔細閱讀所有材料,我們建議只集中學習最重要的主題。下面的表格中列舉一些章節,我們認為這些章節涵蓋了關於分散式系統的最重要的主題(表0.3)。表0.3自學內容章主題小節1緒論1.1、1.2、1.4.3、1.52通信2.2、2.3、2.43進程3.3、3.4、3.54命名4.1、4.25同步5.2、5.3、5.66一致性和複製6.1、6.2.2、6.2.5、6.4、6.57容錯7.1、7.2.1、7.2.2、7.3、7.4.1、7.4.3、7.5.18安全性8.1、8.2.1、8.2.2、8.3、8.49基於對象的系統9.1、9.2、9.410分散式檔案系統10.1、10.411基於文檔的系統11.112基於協作的系統12.1、12.2或12.3比較好的做法是對學習這些建議的材料需要花費的時間進行估算,但這在很大程度上取決於讀者的背景知識,對各種背景的讀者很難做一個一般性的估計。然而,如果一個具有全職工作的人抽出晚上的時間閱讀本書,則可能至少花費幾周時間。

相關詞條

熱門詞條

聯絡我們