- 《分布式系统》教学大纲
课程编导: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%)。
七、大纲制订
执笔者: 陈志刚
审核者: 王建新
转载:https://blog.csdn.net/zhangchen124/article/details/104811211