网上课件分布式_第1页
网上课件分布式_第2页
网上课件分布式_第3页
网上课件分布式_第4页
网上课件分布式_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8.3 分布式操作系统8.3.1 分布式系统概述 8.3.2 分布式进程通信 8.3.3 分布式资源管理 8.3.4 分布式进程同步 8.3.5 分布式系统中的死锁 8.3.6 分布式文件系统 8.3.7 分布式进程迁移 18.3.1分布式操作系统分布式计算机系统是由一组松散的计算机系统,经互连网络连接而成的”单计算机系统映像”(Single Computer System Image)。 2分布式计算机系统满足条件 1 系统中任意两台计算机可通过系统的安全通信机制来交换信息。 2 系统中的资源为所有用户共享,用户无需考虑资源在哪台计算机上,为用户提供对资源的透明访问。 3系统中的若干机器可互

2、相协作完成同一个任务,即程序可分布于几台计算机上并行运行。 4系统中的一个结点出错不影响其它结点运行,具有较好的容错性和健壮性。3如何实现”单计算机系统映像”? 实现分布式系统的技术称透明性: 位置透明性 迁移透明性 复制透明性 并发透明性 并行透明性4分布式操作系统基本功能1进程通信。2资源共享。3并行运算。4网络管理。5分布式操作系统具有特征一是有单一全局性进程通信机制,任何一台机器上进程都采用同一种方法与其它进程通信;二是有单一全局性进程管理和安全保护机制,进程的创建、执行和撤销以及保护方式不因机器不同而有所变化;三是有单一全局性的文件系统,用户存取文件和在单机上没有两样。6832 分布

3、式进程通信 分布式系统中进程通信可分成: 一是消息传递机制message passing 二是远程过程调用RPC 三是套接字socket 四中间件 71、消息传递机制 (1) 通信原语的基本形式为 Send(P, message) Receive(Q, buffer) 最简单的分布式消息传递模型称客户机/服务器模型 8消息传递机制 (2) (1)目标进程寻址 1)机器号和进程号寻址法。 2)广播寻址法。 3)名字服务器寻址法。 (2)同步和异步通信原语 (3)缓冲和非缓冲原语(4)可靠和非可靠通信原语 9分布式进程通信(1)2远程过程调用客户机客户存根客户应用客户OS内核本地调用客户打包参数拆

4、包参数返回结果OS内核服务器 本地调用服务存根服务应用服务过程打包参数拆包参数返回结果OS内核网络消息传送10分布式进程通信(2)RPC执行步骤总结(1) 1)客户进程以普通方式调用客户存根2)客户存根组织RPC消息并执行Send,激活内核程序3)内核把消息通过网络发送到远地内核4)远地内核把消息送到服务器存根5)服务器存根取出消息中参数后调用服务器过程11分布式进程通信(3)RPC执行步骤总结(2) 6)服务器过程执行完后把结果返回至服务器存根7)服务器存根进程将它打包并激活内核程序8)服务器内核把消息通过网络发送至客户机内核9)客户内核把消息交给客户存根10)客户存根从消息中取出结果返回给

5、客户进程11) 客户进程获得控制权并得到了过程调用的结果12分布式进程通信(4)3套接字(1) socket通信的基本原理 socket通信的工作过程 一个socket在逻辑上有三个特征(三要素): 1)网域 2)类型 3)规程13分布式进程通信(5)套接字(2) Socket的功能由系统调用体现主要有:创建socket()、指定本地地址bind()、建立socket连接connect()、愿意接收连接listen()和接收连接accept()、发送数据send()、sendto()、sendmsg()、write()、writev()和接收数据read()、readv()、recvfrom(

6、)、recvmsg()。14分布式进程通信(6)套接字(3) 服务器方客户方socket()建立数据报式套接字,返回套接字号socket()建立数据报式套接字,返回套接字号bind()把套接字s与本地地址相连接bind()把套接字s与本地地址相连接recvfrom()/sendto()在s上读写数据,直至结束recvfrom()/sendto()在s上读写数据,直至结束closesocket()关闭套接字,服务结束closesocket()关闭套接字,结束对话无连接协议的套接字调用时序15分布式进程通信(7)套接字(4) 面向连接的套接字调用时序socket()建立流式套接字,返回套接字号sb

7、ind()把套接字s与本地地址相连listen()通知TCP/IP,服务器准备好接收连接accept()接收连接,并得到第二个套接字nsrecev()/send()在ns上读写数据,直到结束Closesocket()关闭套接字nsClosesocket()关闭最初套接字ssocket()建立流式套接字,返回套接字号sconnect()把套接字s与远程主机相连Send()/recev()在ns上读写数据,直到结束Closesocket()关闭套接字s,结束TCP/IP对话服务器方客户方socket()建立流式套接字,返回套接字号sbind()把套接字s与本地地址相连listen()通知TCP/I

8、P,服务器准备好接收连接closesocket()关闭套接字nsclosesocket()关闭最初套接字ssocket()建立流式套接字,返回套接字号sconnect()把套接字s与远程主机相连send()/recev()在ns上读写数据,直到结束建立连接服务请求服务响应164 客户/服务器计算模型和中间件 1) 客户/服务器计算模型二层模型三层模型 2) 中间件(1)中间件概念和实现原理17(2)中间件体系结构 表示服务应用逻辑 中间件通信软件操作系统 中间件 客户工作站通信软件 应用服务 操作系统 硬件平台硬件平台 服务器协议交互中间件交互中间件在C/S结构中的作用平台接口应用程序 应用程

9、序 应用编程接口API 中间件(分布式系统服务)应用程序平台:OS、硬件 平台:OS、硬件中间件的逻辑视图188.3.3 分布式资源管理(1) 单机操作系统采用一类资源由一个资源管理者来管的集中式管理方式 。(图1)分布式操作系统采用一类资源多个管理者的方式,可以分成两种: 1 集中分布管理(图2) 2 完全分布管理 (图3) 图1 centralized图2 distributed centralized图3 distributed19 分布式资源管理(2) 分类 一类资源的 一类资源中的一个物理 管理者个数 资源管理者个数完全集中管理 1 1(certralized)集中分布管理 k 1(

10、distributed certralized)完全分布管理 m k(distributed )20分布式资源管理(3)集中分布管理 一类资源有多个管理者,但每个具体资源仅有一个管理者负责,如尽管系统有多个文件管理,但每个文件只依属于一个文件管理者。 集中分布管理下,使用某个文件必须也仅须通过其相应的某个文件管理者。21分布式资源管理(4)完全分布管理 假如一个文件有若干副本,分别受管于不同的文件管理。为保证文件副本的一致性,当一份副本正被修改时,其他各副本应禁止使用。 当一个文件管理接收到使用文件的申请时,只有在和管理该文件其他副本的管理者协商后,才能决定是否让申请者使用文件。一个具有多副本

11、的文件资源由多个文件管理者共同管理。22分布式资源管理(5)分布式资源搜索算法(1) 集中分布管理应具有向其他资源管理者提交资源申请和接受其他资源管理者转来的申请的功能。由于资源管理者分布在不同计算机上,系统必须制定一个资源搜索算法,使得资源管理者按此算法帮助用户找到所需资源。分布式资源搜索算法有三种: 1 投标算法 2 由近及远算法 3 回声算法 231 投标算法 资源管理者欲向它机资源管理者申请资源时,先广播招标消息,向网络中位于其他结点的每个资源管理者发招标消息。 当一个资源管理者接到招标消息时,如果该结点上有所需资源,则根据一定策略计算出”标数”,发一个投标消息给申请者,否则回一个拒绝

12、消息。申请者收到所有回答消息后,根据一定策略选出一个投标者,并向它发一个申请消息。接到申请消息后,将申请者的名字登记入册,并在可以分配资源时发消息通知申请者。资源使用完毕后,向分配资源的资源管理者归还资源。24 投标算法-确定标书 投标与招标的策略:如可用排队等待申请者的个数、投标与招标者距离的远近等作标数来投标,选择标数最小的投标者中标。 设在某个结点上,资源管理者它管理某种具体的资源,当有申请到达并且不能满足该申请者的要求时,便记录“排队等待申请者的个数”,设为a;投标者结点至招标者所在结点的距离设为d,则标书b可定义为: b=w1a+w2d 其中,w1和w2为权重系数,通常,w2取1,w

13、1取一正整数。25 投标算法一个例子 下例中,A结点上某进程发出申请打印机资源要求,采用投标算法应获得F结点的资源。打印机等待:2ABCDEF打印机等待:3打印机等待:0打印机等待:2262 由近及远算法(1) 申请者向它的某个邻结点发一个搜索消息,信中附上对资源的需求及参数p,其值为申请者编号。接搜索消息后,将发来消息的结点编号和参数p登记下来,前者定义为它的上邻结点,后者定义为它的前结点。 如果接搜索消息的结点具有消息中所要求的资源,它就向它的上邻结点发一个成功消息,并将自己的编号附上;27由近及远算法(2) 否则它先发一个消息给它的前结点告知自己是它的后结点。然后,发消息给上邻结点,请继

14、续搜索,消息中带上参数p,其值为自己的编号。接继续搜索消息后,如果还有未被搜索的下邻结点,那么,就发搜索消息给它,消息中附上的参数p是从继续搜索消息中取得的。 如果所有下邻结点都已搜索过,但它有后结点,则把继续搜索消息转给它的后结点。28由近及远算法(3) 如果既没有未被搜索的下邻结点,又没有后结点,则说明全部结点己被搜索过,这时它将向上邻结点发一个失败消息。接成功消息或失败消息后,若接消息者非申请者,则将消息转发给它的上邻结点,否则搜索就此结束。 申请者或获得最近能提供所要资源的结点地址,或被告之系统中没有这样的资源。如果一个己被搜索过的结点又收到搜索消息,则将原消息退回,发搜索消息的结点就

15、认为该下邻结点不存在。29由近及远算法一个例子(1) 使用上图网络结构的系统中,结点A是申请者,若只有结点F具有A要的资源,按由近及远算法,搜索过程为: (1) A向B发搜索信(p=A);(规则1) (2) B向A发信告知,A的后结点是B;(规则2) (3) B向上邻结点A发信(p=B),请继续搜索;(规则2) (4) A向下邻结点C发搜索信(p=B);(规则3) (5) C向B发信告知,B的后结点是C;(规则2) (6) C向上邻结点A发信(p=C),请继续搜索;(规则2) (7) A将继续搜索信转给它的后结点B(p=C);(规则3) (8) B向D发搜索信(p=C);(规则3) (9) D

16、向C发信告知,C的后结点是D;(规则2) (10) D向上邻结点B发信(p=D),请继续搜索;(规则2)30由近及远算法一个例子(2) (11)B向E发搜索信(p=D);(规则3) (12)E向D发信告知,D的后结点是E;(规则3) (13)E向上邻结点B发信(p=E),请继续搜索;(规则2) (14)B将继续搜索信转给它的后结点C(p=E);(规则3) (15)C向E发搜索信(p=E);(规则3) (16)E将搜索信退回给C;(规则5) (17)C将继续搜索信转给它的后结点D;(规则3) (18)D将继续搜索信转给它的后结点E;(规则3) (19)E向F发搜索信(p=E);(规则3) (20

17、)F向E发成功信(p=F);(规则2) (21)E向B转发成功信(p=F);(规则4) (22)B向A转发成功信(p=F);(规则4) (23)A收到来自F的成功信(p=F);(规则4)31由近及远算法一个例子(3) 如果F也没有A所要的资源,则(19)步后的过程为: (20) F向E告知,E的后结点是F;(规则2) (21) F向E发信请继续搜索(p=F) ;(规则2) (22) E将继续搜索信转给它的后结点F(p=F) ;(规则3) (23) F既无资源又无后结点,F发失败信给上邻接点E;(规则3) (24) E向B转发失败信;(规则4) (25) B向A转发失败信;(规则4) (26)

18、A收到失败信,搜索失败;(规则4)32FABCDE打印机P=AP=BP=BP=CP=CP=dP=dP=EP=EP=E退回转信转信P=E成功,P=F 由近及远算法一个例子(4)333 回声算法(1) 资源申请者向它的每一个邻结点发探查消息,消息中附上对资源的需求。 若接探查消息的结点是第一次接到这样的探查消息,就把传来探查消息的邻结点定义为它的对该探查而言的上邻结点,而把其余的邻结点定义为它的下邻结点。若接探查消息的结点不是第一次接到这样的探查消息,就向传来探查消息的邻结点发一回声消息,消息中参数值为0。34回声算法(2) 接上邻结点传来的探查消息后,若有下邻结点,则将探查消息复制后分发给各下邻

19、结点,否则向上邻结点发一回声消息,消息中参数S(称资源参数)取下列值: S=0 当结点不具备所需资源时 S=w*a+1 当有a个申请者在等待资源时式中w是一个常数。35回声算法(3) 当一个结点接到它的所有下邻结点发来的回声消息后,它就向它的上邻结点发一回声消息,消息中附上参数S及与之对应的结点编号。参数S取下列值: S=0 若Sr=0且所有回声消息中所附参数为0 S=min(Sr1+1,Sre+1,Sr) 否则 式中,Sr为本结点的资源参数;Sr1,Sre为所有回声中所附的非零资源参数。若S值被选为Sre+1,那么回声消息中所附结点编号就是附有资源参数Sre的回声中所附的结点编号。若S值被选

20、为Sr,则回声消息中所附结点编号就是本结点的编号。36回声算法(4) 申请者获得所有邻结点发来的回声消息后,将按上一条规则选定S的方法选中一个资源提供者,然后,向它发申请消息。当一个结点接到申请消息后,就把申请消息登记下,并在可能时将资源分配给它。使用完毕后通知资源分配者去配。37回声算法一个例子(1) 仍用上例,采用回声算法的搜索过程如下: (1)申请者结点A向结点B和C发探查信,信中附上资源要求(打印机);(规则1) (2)A为B的上邻结点,A为C的上邻结点;(规则2) (3)B有下邻结点,分发探查信给结点D和E;(规则3) (4)C有下邻结点,分发探查信给结点E;(规则3) (5)结点E

21、第二次收到探查信,向上邻结点C发回声信,其参数S=0(规则2) (6)E有下邻结点,分发探查信给结点F;(规则3) (7)F无下邻结点,向上邻结点E发回声信,并且,参数S=w*a+1=w*0+1=1/F;(规则3)38回声算法一个例子(2) (8)D无下邻结点,向上邻结点B发回声信,并且,参数S=w*a+1=w*2+1/D;(规则4) (9)E收到全部下邻结点F的回声信,向上邻结点B和C发回声信,并且,S=min(1+1/F,w*2+1)=2/F;(规则4) (10)B收到全部下邻结点D和E的回声信,向上邻结点A发回声信,并且,S=min(w*2+1+1/D,2+1/F,w*3+1/B)=3/

22、F;(规则4) (11)C收到全部下邻结点E的回声信,向上邻结点A发回声信,并且,由于C本身无资源故应取回声信中最小参数S=2+1/F=3/F;(规则4) (12)A向F发申请信;(规则5) (13)F登记申请要求,并可把打印机资源分给A;(规则6) (14)A使用完毕通知F去配;(规则7)39回声算法一个例子(3) S=w*2+1ABCDEFS=1S=min(w*2+1,1+1)S=min(w*2+2,2+1,NO)S=min(w*2+2,w*2+2,2+1,w*3+1)S=3/F408.3.4分布式进程同步(1)分布式系统中各计算机没有共享主存储区,进程间无法通过传统公共变量,如锁变量或信

23、号量进行通信。进程分散在不同计算机上,只能根据本地可用信息做出决策,系统中没有公共的时钟和全局时间。41分布式进程同步(2)采用完全分布式管理时,每个资源由位于不同结点上的资源管理共同来管,每个资源管理在决定分配它管理的资源以前,必须和其他资源管理者协商。必须设计一个算法,各资源管理者按此算法共同协商资源的分配。421事件排序(1)进程同步实质是对多个进程在执行顺序上的规定,为此,应对系统中所发生的事件进行排序。 定义一个关系称作“先发生”,表达为“ab”读作“a在b之前发生”,意思是指系统中所有进程认为事件a先于事件b发生。43事件排序(2)三种情况会产生先发生关系 情况(1):如果a和b是

24、同一进程中的两个事件,且a发生在b之前,则ab为真; 情况(2):如果a是一个进程发送消息事件,b为另一个进程接收该消息事件,则ab为真; 情况(3):存在某个事件c,若有ac并且cb,则ab为真。44事件排序(3) 定义事件的“先发生”关系后,同一进程中两个事件的先后关系可以被明确确定,不同进程中发生的事件间的先后关系,有一部分可以被确定,而另一部分则不能确定。45事件排序(4) 例如,三个进程P1、P2和P3,分别发生以下事件:事件a :P1 发送消息给P2 ;事件b :P2 接收来自P1 的消息;事件c :P2 接收到P1 的消息后发消息给P3;事件d :P3 接收来自P2 的消息;46

25、事件排序(5) 显然有: abcd; 然而,如果P2在事件b之前发生过某事件f,例如,打印输出,尽管可以确定: fb,fc,fd 但a和f间的先后关系无法确定。47事件排序(6) 如果两个事件x和y发生在不同进程中,且这两个进程也不交换信息,那么xy和yx都不成立,这两个事件就称为并发事件,无法确定这两个事件谁先谁后。48事件排序(7) 定义逻辑时钟(时间戳)(1)定义逻辑时钟的实质是把一个系统中的事件映射到一个正整数集合上的一个函数C,并满足:若事件a先发生于事件b,则C(a)小于C(b)。系统中的每个进程都拥有自己的逻辑时钟。49事件排序(8) 定义逻辑时钟(时间戳)(2)逻辑时钟的定义指

26、出,如果事件a先发生于事件b,则a的逻辑时钟小于b的逻辑时钟。反之不然,因为,两个并发事件的逻辑时钟的大小没有定义,所以,逻辑时小的事件不见得先发生。50事件排序(9)逻辑时钟函数的构造(1)定义在某系统集合上的逻辑时钟函数C如下: (1)对任一进程P中的非接收消息事件ej,若ej 是P的第1个事件,则 C(ej)=1 若ej是P的第j个事件,而第j-1个事件是ej-1 ,则 C(ej)=C(ej-1)+151事件排序(10)逻辑时钟函数的构造(2) (2)对任一进程P中的接收消息事件er ,若er 是P的笫1个事件,则 C(er)=1+C(es ) 此处,es 是进程P发送这个消息的事件。若

27、er是P的笫r个事件,而第r-1个事件是er-1,则 C(er)=1+maxc(er-1),C(es)52事件排序(11)由n个进程组成的网络系统,逻辑时钟可用于对由消息传输所组成的事件进行排序。事件排序规则:对来自站点i的消息x和来自站点j的消息y,说事件x先发生于事件y,如果: (1)Ti Tj 或 (2)如果Ti = Tj 并且 i j 53事件排序(12)Lamport算法校正时钟 06121824303642485460081624324048566472800102030405060708090100DABCP0P1P2(a)0612182430364248707608162432

28、4048616977850102030405060708090100DABCP0P1P2(b) (a)三个进程,各有自己的时钟(b)Lamport算法校正时钟54事件排序(13) 时间戳算法的操作例子 P1时间P2P30145236016704256(a, 1, 1)(b, 5, 1)(j, 5, 3)(x,3,2)55事件排序(14) 时间戳算法的操作另一个例子 P1时间P2P3011220023(a, 1, 1)(q, 1, 4)3P40256分布式同步算法(1) (1)Lamport算法(1)分布式系统由N个结点组成,每个结点建立数据结构(一个数组,也叫队列),用来记录该结点最近收到的消

29、息和该结点自己产生的消息。假定每个结点只有一个进程和仅负责控制一种临界资源,并处理那些同时到达的请求。数组的下标也就是结点编号(1N),该数组被初始化为: applicationstack =(release,0,i) 57分布式同步算法(2) Lamport算法(2) 算法用到三种类型消息:( request,Ti ,i) 进程Pi发出的访问资源的请求消息( reply,Tj ,j) 进程Pj同意请求进程访问其控制的资源的回答消息( release,Tk ,k) 占有资源的进程Pk释放资源时给各进程的释放消息 消息内容包括:消息类型、时间戳、结点号。58分布式同步算法(3) Lamport算

30、法(3) (1)进程Pi要求访问临界资源时,把申请资源消息(request,Ti,i)插入自己的请求队列,并发送给集合中的每个进程。 (2)进程Pj接收到申请资源消息(request,Ti,i)时,按逻辑时间先于关系插入自己的请求队列;形成一个打上时间戳的回答消息(reply,Tj,j),广播发送给集合中的每个进程。59分布式同步算法(4) Lamport算法(4) (3)若满足以下条件,则允许进程Pi进入临界区访问资源:Pi申请资源的请求消息已处于自己的请求队列的最前面,因为,消息在所有结点上一致排序,故在任意时刻只有一个进程可访问资源。进程Pi已收到所有其他进程的回答消息,这些消息上的时间

31、戳晚于(Ti,i)时,此条件表明其他进程要么不想访问相同资源,要么要求访问资源但其时间戳较晚。60分布式同步算法(5) Lamport算法(5) (4)为释放该资源,进程Pi从自己的请求队列中删去申请资源消息(request,Ti,i),再发送一条打上时间戳的释放资源消息(release,Ti,i)给所有其他进程。 (5)进程Pj收到进程Pi的释放消息后,从自己的请求队列中删去进程Pi的申请资源消息(request,Ti,i)。61分布式同步算法(6) Lamport算法(6) 为确保互斥,该算法共需要传送 (N-1)条request消息 (N-1)条reply消息 (N-1)条release

32、消息62分布式同步算法(7) (2)G.Ricart算法 (1) (1)当进程Pi要求访问临界资源时,它发送一个打上时间戳的广播消息(reguest,Ti,i)给所有结点的进程。63分布式同步算法(8) G.Ricart算法 (2) (2)当其他结点进程Pj接收到消息(reguest,Ti,i)时,执行以下操作: 1)如果进程Pj 既不是资源的申请者,又不是资源的占有者,立即返回一个回答消息(reply,Tj ,j)给进程Pi 。 2)如果进程Pj 是资源申请者,并满足条件: Ti Tj 或 Ti =Tj i j 条件时返回一个回答消息(reply,Tj ,j)给进程Pi ;否则推迟发送rep

33、ly响应。64分布式同步算法(9) G.Ricart算法 (3) (3)当进程Pi已收到了所有其他进程的回答消息reply时,便可以访问该临界资源; (4)占有资源的进程Pi 在释放资源时,对那些曾经接到过它们的申请消息,但未予回答的进程补送回答reply响应。65分布式同步算法(10) G.Ricart算法 (4)算法作了改进,试图通过消除release消息,使进程访问资源时,仅需发送2(N-1)个消息。66分布式同步算法(11) (3) 令牌环算法 (1)令牌实现进程互斥的过程:令牌在初始化后,被逻辑环中任意一个进程获得,这样令牌开始绕环移动,它从进程K传递给它的下家进程K+1,可按点到点

34、方式进行传递。67分布式同步算法(12) 令牌环算法 (2)当进程从上家手中得到令牌时,它就检查它欲进入的临界区,如果临界区是开放的,则该进程进入临界区,访问共享资源。当该进程退出临界区时,便把令牌传送给它的下家,不允许使用同一张令牌进入第二个临界区。 68分布式同步算法(13) 令牌环算法 (3)当一个进程得到了上家传递来的令牌,又不想进入临界区,就把令牌往下传。这样一来,如果没有进程想进入临界区时,令牌就会在逻辑环中高速循环运行。698.3.5分布系统中的死锁 死锁类型 资源死锁 通信死锁 70分布式死锁检测与预防(1)集中式死锁检测每台计算机都有一张进程资源图,一台中心计算机上拥有一张整

35、个系统的进程资源图,检测进程检测到环路时,就中止一个进程以解决死锁。71分布式死锁检测与预防(2)集中式死锁检测检测进程适时地获得从各个结点发送的更新信息: 一是每当资源图中加入或删除一条弧时,相应的变动消息就发送给检测进程; 二是每个进程可周期性把自己从上次更新后新添加或删除弧的信息发送给检测进程; 三是在需要的时候检测进程主动去请求更新信息。72分布式死锁检测与预防(3)假死锁问题(1) 考虑进程A和B运行在结点1上,C运行在结点2上;共有三种资源R,S和T;A拥有S请求R,但R被B占用;B使用R;C使用T请73ASRB结点1 (a)SCT结点2 (b)ASRBCT检测程序 (c)ASRB

36、CT检测程序 (d)为进程为资源进程占用资源进程申请资源分布式死锁检测与预防(4) 假死锁问题(2)74分布式死锁检测与预防(4)分布式死锁检测(1) 具体实现方法如下:(1)在每个结点中都设置一个死锁检测进程;(2)必须对请求和释放资源的消息进行排队,每个消息上附加逻辑时钟;(3)当进程欲存取某资源时,它应先向所有其它进程发送请求信息,在获得这些进程的响应信息后,才把请求资源的消息发给管理该资源的进程;(4)每个进程应将资源的已分配情况通知所有进程。75分布式死锁检测与预防(5)分布式死锁检测(2) 防止网络中出现死锁,可以采取破坏产生死锁的四个必要条件之一的方法来实现。第一种方法可以采用静

37、态分配方法 第二种方法是按序分配第三种方法主要解决报之组装、存储和转发造成缓冲区溢出而产生的死锁 768.3.6分布式文件系统(1) 分布式文件系统具有以下特点:网络透明性 客户访问远程文件服务器上的文件的操作如同访问本机文件的操作一样;位置透明性 客户通过文件名访问文件,但不能知道该文件在网络中的位置;同理文件的物理位置变了,但文件的名字不变。77分布式文件系统(2) 文件服务器是运行在网络中某台机器上的一个实现文件服务的进程,系统可以有一个或多个文件服务器,但客户并不知道有多个文件服务器及它们的位置和功能。客户所知道的只是当调用文件服务中某个具体过程时,所要求的工作以某种方式执行,并返回所要求的结果。78 分布式文件系统的组成(1)网络文件系统协议 远程过程调用协议 扩展数据表达(XDR) 网络文件系统服务器代码网络文件系统客户机代码安装协议79分布式文件系统的组成(2)服务器监听进程 服务器安装进程 客户机I/O进程 网络锁定管理器和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论