总体来说分布计算系统的考试较为简单 大部分为理解性内容和背诵内容,但是需要注意的是在最后的考试当中会对整本教材的理解性有较多的考察,例如会有一个15分的大题询问你 你对这本分布式计算系统的理解。
作者在本科学习的时候习惯在学习完一门课程之后对课程整体每一章进行梳理总结,一方面能重新回顾和理解,另一方面可以给学弟学妹留下一点资料。
第一章 绪论
By齐浩坤
第一章 绪论 By齐浩坤
1为什么需要分布计算系统
一、促进计算系统发展的两大技术:
二、两大技术改变了计算机的使用方式:
2分布计算系统的相关概念
一、分布式计算系统
二、紧密耦合与松散耦合分布计算系统(重点松散耦合)
三、同构型与异构型分布计算系统
四、分布计算系统的优点与问题
五、分布计算系统的透明性
六、影响透明性的因素
七、分布计算系统与计算机网络系统
八、分布计算系统的体系结构与设计
九、分布式计算系统的设计问题(各层的共有设计问题)
1为什么需要分布计算系统
一、促进计算系统发展的两大技术:
计算机硬件技术和软件的发展
计算机网络技术的发展
二、两大技术改变了计算机的使用方式:
-
预约上机,占用全部的资源。
-
批处理技术。(由预约上机变为批处理技术,必须要有足够大的存储器,存储任务)
-
分时系统,多用户同时使用一台计算机。(多用户多任务,时间片进行轮转,多个用户使用一台计算机,多个任务使用共从的资源软件和硬件)
-
个人计算机。
-
通过计算机网络使用多台计算机。
但是通过计算机网络使用多台计算机存在许多问题:在使用上,用户必须要知道本地对象和远程对象的区别。在管理上,管理人员的文件备份和软件更新复杂。
所以为了解决这个问题就是实现分布式操作系统,在分布计算系统中,多台计算机构成一个完整的系统,类似于一个单机系统,而分布式操作系统就是实现分布式计算系统的核心。
2分布计算系统的相关概念
一、分布式计算系统
分布式计算系统是由多个相互连接的处理资源组成的计算系统,它们在整个系统的控制下可合作执行一个共同的任务,最少依赖于集中的程序、数据和硬件。这些处理资源可以是物理上相邻的,也可以是在地理上分散的。
分布式计算系统属于多指令流 多数据流MIMD结构
二、紧密耦合与松散耦合分布计算系统(重点松散耦合)
处理机与计算机系统不是一个概念,指整个能够独立执行计算任务的计算节点。这样的计算节点可能包括一个或多个CPU、内存、存储设备以及其他必要的硬件和软件资源。
而且对于紧密耦合分布计算系统而言,每个处理机通过共享存储器进行通信,也可以拥有自己的专用存储器。松散耦合分布系统没有共享存储器,但是通过对专用存储器的逻辑共享实现共享存储器 。
三、同构型与异构型分布计算系统
组成分布计算系统的计算机的硬件与软件、计算机网络的硬件与软件 是否相同与类似。
异构性不可避免。新加入用户的系统往往不同于原系统、扩充分布计算系统往往选择最新的计算机系统、结合不同的软硬件系统可以提高性价比。
分布计算系统的异构型包括 计算机系统的异构型、通信网络的异构型
四、分布计算系统的优点与问题
优点如下:
-
可扩充性:不用像单机系统那样替换整个系统,分布计算系统容易通过扩大规模来包括更多资源
-
高性能/性价比:在分布计算系统中,可以通过增加计算机的数目来提高并行程度达到所需要的性能。
-
资源共享:系统中的软硬件资源可以被更多用户共享,甚至CPU和内存资源也可被共享
-
可靠性:分布计算系统即使某个部分出现故障也可继续运行
-
支持固有的分布式应用:分布计算系统与许多应用场合相适应,如银行、铁路等本来就分散而又必须相互协调的行业
问题如下:
-
计算资源的多重性带来的问题:由于处理资源的多重性,使得分布计算系统可能产生更多的差错类型和次数,并且为系统资源管理带来困难。
-
共享资源的分散性带来的问题:使系统的控制和同步变得复杂。
-
系统的异构型带来的问题:在异构性分布计算系统中,由于各种不同资源的数据表示和编码、控制方式等均不相同,产生了翻译、命名、保护、共享等问题。
五、分布计算系统的透明性
透明性:事物本来存在某种属性、但是这种属性从某种角度上看是不可见的
分布式计算系统的透明性:在分布式系统中,复杂的实现细节对用户是隐藏的,使得用户在使用时感觉不到系统是分布式的。
-
名字透明:指对象的命名在全局中唯一,无论在哪个地方。确保移动不影响正常性。
-
位置透明:指资源的名字中不包含该资源的位置信息。确保移动不影响正常性。
-
访问透明:用户不用区分本地资源或者远程资源,访问方法相同。
-
迁移透明:允许资源在系统中移动而不影响用户的体验,迁移透明需要名字透明的支持
-
复制透明:允许文件或者其他对象的多个副本同时在系统中存在,对对象的修改同时作用在对象的所有副本上。
-
并发和并行透明:多个进程可能并发或并行访问同一个资源,或一个进程同时使用多个资源,在此情况下不会产生相互干扰和破坏
-
失效透明:系统中某一部分失效时,整个系统不会失效,仍可正常运行。
当分布计算系统具有透明性的优点:使软件的研制更容易,因为软件功能与其位置无关。系统资源变动时不影响或较少影响应用软件。在资源操作时,将一个操作进行转移不会有影响。
六、影响透明性的因素
-
局部自治性的影响
某地不同部门希望在资源使用上希望有更大的控制权。
不同部门机器的命名不同
-
网络互联的影响
网络连接了不同厂商的不同系列的计算机,实现透明性必须修改这些机器的软件(不实际)。
早期网络结构发展并未考虑分布计算
远程网络具有低带宽 高延迟特点,所以这种资源应可见(不透明)
七、分布计算系统与计算机网络系统
分布计算按系统的目标是利用网络连接的多台计算机共同完成计算任务,实现计算资源的共享且提供一定成单独的透明性,使得分布式环境对用户而言是一个单一的、统一的计算资源。容错能力强。
计算机网络系统主要关注于连接多台计算机,以便用户可以交换数据、共享资源和通信。每台计算机相对独立,有自己的操作系统、用户和任务。无容错能力或很小。
计算机网络是连接设备的基础架构,而分布式计算系统是在这种网络基础上构建的,目的是利用网络中的多台计算机的集体计算能力来解决复杂的问题。
计算机网路系统的发展分为三个阶段 无操作系统阶段、运行网络操作系统阶段、运行分布式操作系统阶段
-
从文件系统的访问方法上区分
-
从访问控制方面区分
-
从本地执行和远程执行上区分
八、分布计算系统的体系结构与设计
分布计算系统分为若干层,层与层之间通过接口进行连接:
第一层是由硬件或固件组成的硬核(硬件设备 处理器、内存、键盘等)
第二层是分布式操作系统的内核(进程通信、同步、管理、I/O)
第三层是分布式操作系统的服务层(服务层,为应用层提供基本的负五,包括资源分配和复用)
第四层是和用户有关的应用层(顾客层,应用结构问题和语言问题)
分布式操作系统可以分成两类:第一类实现同构性系统,第二类实现异构性系统
-
整个系统中只有一个固有的操作系统,各计算机均运行这一系统,统一分配和管理资源
-
系统中每一个主机分别独立运行自己的本地操作系统,在加上一些新成分进行通信和资源共享,实现网络操作系统,然后在网络操作系统之上添加一个软件层(中间件)来隐藏下层平台的异构性,为用户提供透明访问
中间件:为应用程序隐匿底层平台的异构性
常见的中间件模型:基于远程过程调用PRC的中间件模型、基于分布式对象的中间件模型、基于分布式文档的中间件模型、以分布式文件系统DFS为中心的中间件模型、将任何资源作为文件来对待。