网络与分布式系统ppt课件.ppt

上传人:小飞机 文档编号:1549902 上传时间:2022-12-04 格式:PPT 页数:32 大小:250.50KB
返回 下载 相关 举报
网络与分布式系统ppt课件.ppt_第1页
第1页 / 共32页
网络与分布式系统ppt课件.ppt_第2页
第2页 / 共32页
网络与分布式系统ppt课件.ppt_第3页
第3页 / 共32页
网络与分布式系统ppt课件.ppt_第4页
第4页 / 共32页
网络与分布式系统ppt课件.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《网络与分布式系统ppt课件.ppt》由会员分享,可在线阅读,更多相关《网络与分布式系统ppt课件.ppt(32页珍藏版)》请在三一办公上搜索。

1、操作系统(第3版),第 8 章 网络与分布式处理,第 8 章 网络与分布式处理,8.1 分布式系统概述8.2 网络服务器8.3 分布式进程管理8.4 进程迁移8.5 分布式进程通信8.6 分布式进程同步与互斥 8.7 分布式进程死锁问题,8.1 分布式系统概述,分布式能力包括以下几个方面 通信结构 、网络操作系统 、分布式操作系统 通信结构 具有结构的一组模块构成了通信结构 一个简单的通信结构 通常,通信涉及三个方面:应用、计算机和网络 。因此,一个通信任务组织成相对独立的三层:网络存取层、传输层和应用层:网络存取层负责的是计算机与其连接网络之间的数据交换传输层为所有应用提供了可靠的传输机制应

2、用层包含了支持各用户应用所需的逻辑,开放式系统互连通信结构 开放式系统互连OSI七层模型 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层,8.1 分布式系统概述,8.2 网络服务器,服务器的结构 服务器与网络上的其它工作站样,它有一个网络接口模块,该模块包括了与局域网交互所需的硬件和软件;用户工作站也包括了一个网络接口。此外它还包含了与服务器通信的一些网络逻辑 这种结构的服务器功能强,而且灵活,其功能表现在它可用于控制各种类型的资源 磁盘和文件服务器 文件服务器 对文件进行几种存储和管理、自动备份和恢复、用户流动性 、与其它文件服务器进行连接,磁盘服务器 许多文件服务器只不过提供了

3、一个中心磁盘设施,作为个人计算机用户局部存储器的扩充,这样的系统有时叫磁盘服务器 文件高速缓冲存储器的一致性问题 问题的产生 因为使用文件高速缓冲存储器保留最近存取的文件记录,减少对远程服务器必须进行的存取次数,致使有时产生文件高速缓冲存储器的一致性问题 解决办法 - 最简单方法是对文件采用加锁技术,以防止多个客户机同时存取一个文件,8.2 网络服务器,更有效的方法是允许任意多的进程同时打开一个文件读并创建各自的客户机高速缓存。但当有一个对服务器的请求是打开文件的写请求,而其它进程打开文件是读存取对,文件服务器采取两个活动。 打印机服务器 打印机服务器可以处理许多用户工作站的打印请求。这不仅可

4、以节省打印费用,而且使得打印更加容易和打印速度更快 调制解调器服务器 当用户向服务器请求存取调制解调器并提供一个电话号码后,服务器启动调制解调器,拨号、并报告结果。如果呼叫成功,向用户提供一个连接。,8.2 网络服务器,8.3 分布式进程管理,分布式互斥 互斥算法分类 集中式算法 算法:一个节点作为控制节点,控制对所有共享目标的存取。只有控制节点才能对资源分配进行决策;控制节点中集中了所有必要信息,包括所有资源的标识和位置,以及每个资源的分配状态 优缺点:集中式互斥算法比较简单,容易实现,但如果控制节点失败了,互斥机制就无法实现;每个资源的分配和回收要求与控制节点交换信息,因此,控制节点可能变

5、为瓶颈,分布式算法 特征:平均来讲,所有节点有着等量的信息。每个节点只有整个系统的一部分描述,且必须基于这个信息进行决策。所有节点对于系统的最后决策有着完全相等的作用。 克服时钟同步困难所采用的一个常见方法 分布式系统中的事件定序法,8.3 分布式进程管理,分布式算法 Lamport分布式算法 数据结构:qj=(Release,0,j) j=1,n 使用的三类信息: (Request,Ti,i)表示进程Pi访问资源的请求信息。 (Reply,Tj,j)表示在Pj的控制下允许访问资源的信息。 (Release,Tk,k)表示进程Pk释放先前分配给它的资源,8.3 分布式进程管理,算法描述: 当P

6、i请求访问一个资源时,它泄放一个请求信息(Request,Ti,i),时标Ti是本地时钟的当前值,它把这个信息放在它自己的数组项qi中,并将这个信息发送给其它所有进程 当Pj接收到信息(Request,Ti,i),时,它把这个信息放在它自己的数组qj中,并发送信息(Reply,Tj,j)给其它所有进程 当下面两个条件成立时,Pi可以访问一个资源: 在数组q中,Pi自己的请求信息是数组中最早请求的信息。由于信息在所有节点的顺序是一致的,这个规则允许一个而且只有一个进程在任何时刻访问所请求的资源,8.3 分布式进程管理,在本地数组中的所有其它信息比qi中的信息都晚一些。这保证Pi已了解了它的当前请

7、求在所有请求之前 进程Pi释放资源时,它泄放信息(Release,Ti,i),把它放在自己的数组中,并传送给其它所有进程 当Pi接收到信息(Release,Tj,j)时,它用这个信息置换qj的当前内容 当Pi接收到(Reply,Tj,j)信息时,它用这个信息置换qj的当前内容,8.3 分布式进程管理,令牌传递法 令牌:令牌(token)是进程在任何时间持有的一个实体,持有令牌的进程不必请求许可权就可以进入它的临界区。当进程离开它的临界区时,再将令牌传递给另一个进程 数据结构:这个算法需要两个数据结构。一个是被传递的令牌,另一个是请求数组 算法描述:算法的描述程序,8.3 分布式进程管理,8.4

8、 进程迁移,进程迁移 定义 进程迁移是指,为了使进程在另一个机器上执行,源机器向目标机传送足够数量的进程的状态信息 在分布式系统中,希望进程迁移的理由 负载均衡、通信性能的改善、可用性、利用专用的能力 进程迁移机制 启动迁移 由谁启动迁移将依赖于迁移设施要实现的目标,需要迁移哪些信息 当一个进程被迁移时,需要撤消源系统上的进程,并在目标系统上创建它。这是一个进程的移动,而不是进程映像的复制 迁移的两种策略:迁移进程的整个地址空间;仅迁移进程在内存的那部分地址空间 对尚未完成的信息和信号的考虑 迁移处理 在有些情况下,进程迁移由一个实体进行决策,8.4 进程迁移,8.5 分布式进程通信,信息传送

9、机制 分布式信息传送的最普通的模型:客户机/服务器模型 采用这种最简单的形式时,信息传送仅需要两个功能:发送和接收 远程过程调用 概念 远程过程调用是对信息传送基本模型的修改,允许不同机器上的程序使用简单的过程调用和返回方式进行交互对话,远程过程调用的一般结构 命令格式 :CALL P(x,y) P是过程名字,x为传送的变量,y是返回值参数 远程过程调用中涉及的几个设计问题 参数传递问题 参数表示 客户机与服务器的结合,8.5 分布式进程通信,确定分布式系统的全局状态 全局状态和分布式瞬态 在紧藕合系统中所有的并发问题,如互斥、死锁和饿死等,在分布式系统中也会遇到 由于网络传输的延迟,分布式系

10、统的性质带来的时间滞后使得所有与并发有关的问题复杂化 所谓全局状态是一致的,是指如果接收信息的进程已记录它接收到了信息的状态,那么,在发送信息的进程状态中应记录它发送了那个信息 所谓分布式瞬态是指每个进程有一组状态的收集,8.5 分布式进程通信,分布式瞬态算法 所谓分布式瞬态算法是指记录一致性全局状态在分布式系统中采用的方法。该算法假定,信息应按照其发送的顺序传送,并且在传输过程中没有被丢失 。算法用了一个专用的控制信息marker 进程p接收到Q的marker后,执行:1,进程P记录下它的局部状态SP 2,记录从Q到P进入(incoming)通道的状态 3,进程P沿着所有向外发出的通道传播这

11、个marker给它的所有邻接进程,8.5 分布式进程通信,在记录它的状态之后的任何时间,若P接收了另一个进入通道(如来自进程R)的marker时,它执行如下: 进程P记录从R到P的通道状态。这个状态是作为P记录它的局部状态SP,开始到它接收到来自R的marker时信息序列而记录的。 一旦沿着每个进入通道都已收到了marker,这个算法就在进程P终止,8.5 分布式进程通信,进程同步主要是指彼此合作的进程在共享资源上协调其操作顺序。进程互斥则主要是指彼此竞争的进程严格按照次序(排它性的)使用资源。8-6-1 事件定序法同步和互斥的分布式算法的基本操作是事件的时间定序。由于缺乏一个公共的时钟或同步

12、局部时钟的方法,可以用下面的方法进行表达。当说系统i中的事件a出现在系统j中的事件b之前(或之后)时,希望网络中所有系统都能得出这个一致性的结论。但不幸的是,这种陈述是不精确的。,8.6 分布式进程同步与互斥,首先一个事件的实际出现与某个其他系统观察到它的时间之间可能有一个延迟;其次由于缺少同步设施,可能在不同系统上读出的时钟值不同。为了克服上述两个问题造成的影响,Lamport建议采用时标方法为分布式系统中的事件定序。这个技术被广泛地用在解决同步和互斥的分布式算法中。时标模式用来为传输的信息组成的事件定序。,8.6 分布式进程同步与互斥,图8-15 时标算法的执行情况,8-6-2 分布式互斥

13、 实施互斥的算法可以是集中式的,也可以是分布式的 集中式算法算法:一个节点作为控制节点,控制对所有共享目标的存取。只有控制节点才能对资源分配进行决策;控制节点中集中了所有必要信息,包括所有资源的标识和位置,以及每个资源的分配状态 优缺点:集中式互斥算法比较简单,容易实现,但如果控制节点失败了,互斥机制就无法实现;每个资源的分配和回收要求与控制节点交换信息,因此,控制节点可能变为瓶须,8.6 分布式进程同步与互斥,分布式算法特征: 平均来讲,所有节点有着等量的信息每个节点只有整个系统的一部分描述,且必须基于这个信息进行决策所有节点对于系统的最后决策有着完全相等的作用 一个节点失败了,一般不会导致

14、整个系统崩溃不存在系统范围的公共时钟来协调与时间有关的事件,8.6 分布式进程同步与互斥,8-6-3 分布式算法 Lamport分布式算法 数据结构:qj=(Release,0,j) j=1,n 使用的三类信息: (Request,Ti,i)表示进程Pi访问资源的请求信息。 (Reply,Tj,j)表示在Pj的控制下允许访问资源的信息。 (Release,Tk,k)表示进程Pk释放先前分配给它的资源,8.6 分布式进程同步与互斥,算法描述: 当Pi请求访问一个资源时,它泄放一个请求信息(Request,Ti,i),时标Ti是本地时钟的当前值,它把这个信息放在它自己的数组项qi中,并将这个信息发

15、送给其它所有进程 当Pj接收到信息(Request,Ti,i),时,它把这个信息放在它自己的数组qj中,并发送信息(Reply,Tj,j)给其它所有进程,8.6 分布式进程同步与互斥,当下面两个条件成立时,Pi可以访问一个资源: 在数组q中,Pi自己的请求信息是数组中最早请求的信息。由于信息在所有节点的顺序是一致的,这个规则允许一个而且只有一个进程在任何时刻访问所请求的资源 在本地数组中的所有其它信息比qi中的信息都晚一些。这保证Pi已了解了它的当前请求在所有请求之前 进程Pi释放资源时,它泄放信息(Release,Ti,i),把它放在自己的数组中,并传送给其它所有进程 当Pi接收到信息(Re

16、lease,Tj,j)时,它用这个信息置换qj的当前内容 当Pi接收到(Reply,Tj,j)信息时,它用这个信息置换qj的当前内容,8.6 分布式进程同步与互斥,令牌传递法令牌:令牌(token)是进程在任何时间持有的一个实体,持有令牌的进程不必请求许可权就可以进入它的临界区。当进程离开它的临界区时,再将令牌传递给另一个进程数据结构:这个算法需要两个数据结构。一个是被传递的令牌,另一个是请求数组算法描述,8.6 分布式进程同步与互斥,8.7 分布式进程死锁问题,资源分配中的死锁 在分布式系统中 ,必须依据各节点的局部信息进行决策 死锁的预防 破坏环路等待条件 破坏请求和保持条件 死锁的检测

17、系统是集中式的控制:由于中心进程有一个完整的图形描述,它负责死锁的检测。这个方法需要很多的通信信息,而且,一旦中心节点故障,算法将不起作用。另外。可能检测到假死锁,8.7 分布式进程死锁问题,分层控制:所有节点组成一个树型结构,除叶节点外,所有节点都要收集所有相关节点的有关资源分配的信息许在比根节点低的各级上进行死锁检测 分布式控制:系统中的所有进程合作实现死锁的检测。为此,相互之间必须交换相当多的时标信息。因此,系统开销很大,消息通信中的死锁 相互等待 在消息通信中,当一组进程中的每个都正等待该组的另一个成员进程发送消息,而又没有消息正在传输时,死锁发生 集合S中所有进程的死锁定义: 1、集合S中的所有进程阻塞等待消息的到来。 2、S包含了集合S中所有进程的相关集。 3、在S的各成员之间没有消息正在传递。 消息死锁和资源死锁的区别 破坏死锁方法:预防或检测,8.7 分布式进程死锁问题,没有空闲可用的消息缓冲区 消息传递系统中产生死锁的另一种途径是通过分配消息缓冲区存储正在传输的消息形成的。这种死锁在分组报文交换数据网络中才有 直接的存储转发死锁:通过不将全部缓冲区指派给任何一个单向链来预防 间接存储转发死锁 :解决方法是利用一个结构缓冲池,8.7 分布式进程死锁问题,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号