COSCon'19 | 如何設計新一代的圖數據庫 Nebula
969
2025-04-01
《分布式系統》教學大綱
課程編導:081011303 081017303 081212407 081217391
課程名稱:編譯原理
學分:2 ????總學時:32 ????課內上機學時:4
先修課程要求:計算機網絡原理、操作系統、軟件技術
適應專業:軟件工程、計算機科學與技術、通信工程
參考教材:
(1)徐高潮等著,《分布計算系統》,高等教育出版社,2004
(2)AndrewcS.Tanenbaum. Distributed Systems:Principles and Paradigms. 清華大學出版社2002年影印版
(3)吳杰. 分布式系統設計. 機械工業出版社2001年中譯本
(4)DoreencL.Galli. Distributed Operating Systems: Concepts and Practice. 人民郵電出版社影印版 2003
(5)庫勞里斯著,金蓓弘等譯. 分布式系統概念與設計 機械工業出版社 2008年
(6)Douglas E. Comer David L.Stevens. Client-Server Programming and Application. 1997, 清華大學出版社,2002
(7)陳志剛等著,《多層客戶/服務計算模型與實現技術》,湖南科學技術出版社,2003
一、課程的性質和任務
本課程是計算機科學與技術專業碩士研究生的一門專業課程,同時也是通信工程專業、軟件工程專業碩士研究生和計算機技術專業工程碩士的一門專業選修課。本課程的內容涉及分布式系統的基本概念、基本原理和基本方法,具體涵蓋了分布計算系統的基本概念和體系結構,分布計算系統的進程通信,分布式程序設計語言,命名與保護,分布式同步和互斥機構,死鎖問題及其處理技術,容錯技術,分布式數據管理,分布式文件系統的設計問題與實現方法,分布式調度,分布式共享存儲器技術以及基于對象的分布式系統,以及相關的前沿主題,包括web服務、網格、移動系統和無處不在系統等。通過這門課程的教學,使學生對分布式系統的基本概念、有關體系結構、分布式系統設計原理與方法有一個系統的掌握,能深入理解一些典型的分布式計算系統,為以后從事分布式系統研究與設計打下良好的理論和工程實踐的基礎。
二、課程的基本要求
學生通過本門課程的學習,要求掌握分布式系統的基本概念、主要原理和主流分布式系統模型范例,主要包括分布式系統進程、分布式程序設計語言、分布式系統安全、分布式系統容錯、分布式系統事務等;能掌握當前分布式系統技術的現狀和發展趨勢,具備分布式系統分析、研究和設計實現有關的基本能力。
三、課程的基本內容及重點難點
(1)?緒論
學習分布計算系統,分布計算系統分類、優點及新問題,分布計算系統的透明性,正確理解分布計算系統與計算機網絡系統的區別。
(2)進程通信
重點掌握管道、消息隊列、共享內存,熟練掌握進程通信原主、MPI、RPC,掌握組通信的概念及設計。
(3)分布式程序設計語言
了解分布式程序設計語言和并行性,掌握報文傳遞和共享數據,正確理解DCDL中的并行性、語句、通信及容錯。
(4)命名與保護
重點掌握分布式系統中的名字結構、名字空間、名字解析以及名字空間的實現,熟練掌握數字簽名的三種實現方法:使用公開密鑰、單密鑰和報文摘要,熟練掌握傳統加密和公開密鑰加密方法。
(5)同步和互斥
正確理解分布式系統中的資源管理方式、控制與通信、資源分配原則,重點掌握物理時鐘、邏輯時鐘,了解系統全局狀態,學習互斥問題,并熟練掌握以下三種互斥算法:集中式互斥算法、非基于令牌的互斥算法和基于令牌的互斥算法。
(6)分布式系統中的死鎖
學習死鎖的起因和處理策略,掌握預防死鎖的方法,重點掌握集中式、分布式、層級式死鎖檢測。
(7)分布式系統中容錯技術
了解分布式系統中的故障模型,容錯系統,掌握向后式和向前式恢復,理解一致性、異步和同步檢查點算法,掌握基本的可靠組播方案。
(8)分布式數據管理
學習如何保持多副本數據的一致性,熟練掌握可串行化調度、基于鎖和時間戳的并發控制,掌握事務處理及原子事務處理的實現。
(9)??分布式文件系統
了解分布式文件系統的特點、要求、命名,理解共享語義和緩存,學習無狀態服務和有狀態服務、可擴充性,了解文件系統安全性,并初步學習NFS。
(10)分布式調度
重點掌握靜態調度和動態調度任務劃分與分配、典型的調度算法,掌握空閑工作站的調度結構,了解進程轉移和遠程執行的方法。
(11)分布式共享存儲器
理解分布式共享存儲器,掌握中央服務員算法、遷移算法、讀復制算法和全復制算法,掌握全映像目錄、有限目錄和鏈式目錄。
(12)基于對象的分布式系統
了解分布式對象的概念及類型,初步學習面向對象的OMG的CORBA、sun公司的RMI和微軟的DCOM分布式系統。
本課程的重點內容
進程通信,命名與保護,同步和互斥,死鎖問題,容錯技術,分布式調度。
本課程的難點內容
分布式系統中的死鎖,分布式系統中的容錯技術,分布式調度,基于對象的分布式系統。
四、實驗內容及要求
實驗項目名稱
實驗類型
實驗項目內容
學時數
進程(線程)的同步與互斥
設計
以生產者/消費者模型為依據,在Windows XP環境下創建一個控制臺進程,在該進程中創建n個線程模擬生產者和消費者,實現進程(線程)的同步與互斥。
2
死鎖的避免, 死鎖的檢測
設計
(1)系統中有 m 個同類資源被n 個進程共享,每個進程對資源的最大需求數分別為S1,S2,…,Sn,且Max(Si)<=m, (i=1,2,…n)。進程可以動態地申請資源和釋放資源。編寫一個程序,實現銀行家算法,當系統將資源分配給某一進程而不會死鎖時,就分配之。否則,推遲分配,并顯示適當的信息。(2) 分別使用檢測“進程—資源循環等待鏈”的方法和Coffman 的算法來檢測進程的死鎖狀態。對于相同的進程資源分配、占用次序,比較兩個算法的結果。
2
五、課程學時分配
章節
內容
學時
其中實驗
備注
第一章
緒論
2
第二章
進程通信
4
2
第三章
分布式程序設計語言
4
第四章
命名與保護
2
第五章
同步和互斥
2
第六章
分布式系統中的死鎖
2
2
第七章
分布式數據管理
2
第八章
分布式系統中容錯技術
2
第九章
分布式文件系統
2
第十章
分布式調度
4
第十一章
分布式共享存儲器
2
第十二章
基于對象的分布式系統
4
32
六、考核方式
改革“一次定論”的考核制度,考試以學生完成日常作業和實驗環節為必要條件,期末考試采用筆試方式。成績評定由三部分組成:課程總評成績 = 期考成績(70%) + 平時成績(30%)。
七、大綱制訂
執筆者: ?陳志剛
審核者: ?王建新
5G教育 分布式
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。