第九章网络与分布式操作系统_第1页
第九章网络与分布式操作系统_第2页
第九章网络与分布式操作系统_第3页
第九章网络与分布式操作系统_第4页
第九章网络与分布式操作系统_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、第九章网络与分布式操作系统第九章网络与分布式操作系统 由于网络操作系统与分布式操作系统所采由于网络操作系统与分布式操作系统所采用的技术大多是相通的,帮将它们入在一起介用的技术大多是相通的,帮将它们入在一起介绍。绍。 9.1 计算机网络计算机网络 一、网络的概念:一、网络的概念: 计算机网络是利用通信设备和通信线路,计算机网络是利用通信设备和通信线路,将地理上分散而且有相对独立功能的多个将地理上分散而且有相对独立功能的多个 计算机系统,按照某种原则相互连接在一起构成的计计算机系统,按照某种原则相互连接在一起构成的计 算机体系,它是计算机技术和通信技术相结合的产算机体系,它是计算机技术和通信技术相

2、结合的产 物。物。 二、网络组成:二、网络组成: 1、组成:独立计算机、通信处理机、通信线路。、组成:独立计算机、通信处理机、通信线路。 2.2.结点结点: :网络中的主机及所附带的外部设备网络中的主机及所附带的外部设备, ,也叫站点。也叫站点。 三、网络分类:三、网络分类: (一)按网络覆盖的地理范围,可将网络分为局域网(一)按网络覆盖的地理范围,可将网络分为局域网 和广域网、城域网。和广域网、城域网。 (二)按照入网计算机的统一性分为:同构网络和异(二)按照入网计算机的统一性分为:同构网络和异 构网络构网络 1、同构网络:在分布式操作系统中常采用同构网络、同构网络:在分布式操作系统中常采用

3、同构网络 因为进程的动态迁移要求迁出站点与迁入站点具因为进程的动态迁移要求迁出站点与迁入站点具 有相同或兼容的硬件环境。有相同或兼容的硬件环境。 2、异构网络:由不同类型的机器所构成的计算机网、异构网络:由不同类型的机器所构成的计算机网 络。在大型网络操作系统中,常采用异构网络,络。在大型网络操作系统中,常采用异构网络, 因为它对入网机器的类型没有任何限制。因为它对入网机器的类型没有任何限制。 四、网络的拓扑:四、网络的拓扑: 网络系统中的各个站点在物理上的联结方式。网络系统中的各个站点在物理上的联结方式。 每种拓扑结构各有优点、缺点,对拓扑结构的评估每种拓扑结构各有优点、缺点,对拓扑结构的评

4、估 常用以下标准:常用以下标准: 1、基本成本:将系统中各站点联结起来所花费的代、基本成本:将系统中各站点联结起来所花费的代 价。价。 2、通信成本:把一个信息由站点、通信成本:把一个信息由站点A传送到站点传送到站点B的距的距离离 3、可靠性:如果一个通信链或站点失效,是否影响基、可靠性:如果一个通信链或站点失效,是否影响基 余站点之间的通信。余站点之间的通信。 (一)全联通拓朴结构:每个站点都直接与其它站点相(一)全联通拓朴结构:每个站点都直接与其它站点相 连,这种结构的代价是昂贵的,因系统中任两个连,这种结构的代价是昂贵的,因系统中任两个 站点之间必须有直接的通信链。站点之间必须有直接的通

5、信链。 *基本成本高,按站点数成平方地增长。基本成本高,按站点数成平方地增长。 *传送速度快,因任两站点间的信息传送仅涉及一传送速度快,因任两站点间的信息传送仅涉及一 条通信链条通信链 *可靠性高,因仅当所有通信链都失效时,系统割可靠性高,因仅当所有通信链都失效时,系统割 裂。裂。 (二)部分互联结构:(二)部分互联结构: 1、仅在一部分站点之间存在通信链,因而基本成、仅在一部分站点之间存在通信链,因而基本成 本较低。本较低。 2、通信速度慢,由消息的传递可能要经过几个中、通信速度慢,由消息的传递可能要经过几个中 间站点。间站点。 3、可靠性较差。、可靠性较差。 (三)层次结构:(三)层次结构

6、: 除根站点外,每个站点均有唯一的父亲和若除根站点外,每个站点均有唯一的父亲和若 干个儿子干个儿子 1、基本成本低、基本成本低 2、通信时往往要涉及几个节点、通信时往往要涉及几个节点 3、除叶站点外,任何一个站点的失效将把网络分割为、除叶站点外,任何一个站点的失效将把网络分割为 几个互不相交的子树。几个互不相交的子树。 (四)星型结构:(四)星型结构: 1、基本成本与站点数成线性比例关系、基本成本与站点数成线性比例关系 2、通信成本较低因一个站点与另一个站点之间的通、通信成本较低因一个站点与另一个站点之间的通 信至多仅需两步。信至多仅需两步。 3、可靠性差、可靠性差:一方面中心站点可能成为系统

7、的瓶颈,一方面中心站点可能成为系统的瓶颈, 另一方面,中心站点一旦失效,网络瘫痪。另一方面,中心站点一旦失效,网络瘫痪。 (五)环形结构(五)环形结构 (六)总线结构(六)总线结构 9.2 通信与协议通信与协议 1、OSI:由:由ISO制订的开放系统参考模型制订的开放系统参考模型OSI成为网络成为网络 通信的标准,逻辑上,不同主机的各层之间能相互通通信的标准,逻辑上,不同主机的各层之间能相互通 信(对等通信)。信(对等通信)。 2、协议:不同主机相同层次间对等的通信规则称为协、协议:不同主机相同层次间对等的通信规则称为协 议,议,K层之间的对等通信协议称为层之间的对等通信协议称为K层协议。层协

8、议。 在实现时,信息自发送站点由上层向下层传递,在实现时,信息自发送站点由上层向下层传递, 横向止于物理层,最后在接收站点自下层至上层纵向横向止于物理层,最后在接收站点自下层至上层纵向 传递。发送站点的每一层均对信息做某种处理,加上传递。发送站点的每一层均对信息做某种处理,加上 一个一个“头头”,然后向下层传播,接收站点的每一层将,然后向下层传播,接收站点的每一层将对对 应的应的“头头”去掉。去掉。 3、 OSI中,各层协议主要功能:中,各层协议主要功能: (1)物理层:负责两个站点之间字位流的传输。)物理层:负责两个站点之间字位流的传输。 (2)链路层,负责提供传输错误的恢复功能)链路层,负

9、责提供传输错误的恢复功能 (3)网络层:负责将消息分解为传输单位,并选择路)网络层:负责将消息分解为传输单位,并选择路 径。径。 (4)传输层:负责站点之间的消息传送。)传输层:负责站点之间的消息传送。 (5)会话层:负责进程间通信。)会话层:负责进程间通信。 (6)表示层:负责数据转换。)表示层:负责数据转换。 (7)应用层:负责提供用户界面。)应用层:负责提供用户界面。 9.3 计算模型计算模型 一、数据迁移:一、数据迁移: 当处于站点当处于站点A的用户想要存取驻留于站点的用户想要存取驻留于站点B的数的数 据(文件)时,系统有两种方式:据(文件)时,系统有两种方式:(1)将整个文件将整个文

10、件 都传送给站点都传送给站点A,此后对文件的访问便成为局部的了,此后对文件的访问便成为局部的了, 当用户当用户A不再需要该文件时,它便被送回到站点不再需要该文件时,它便被送回到站点B。 (2)仅将文件的一部分传送到仅将文件的一部分传送到A,如果以后还需要,如果以后还需要, 再传送另一部分,当站点再传送另一部分,当站点A用户不再需要该文件时,用户不再需要该文件时, 将其修改部分传送回站点将其修改部分传送回站点B。 二、计算迁移二、计算迁移 在某些环境中,迁移计算比迁移数据效果更好在某些环境中,迁移计算比迁移数据效果更好 例如:设站点例如:设站点A处的进程处的进程P要使用站点要使用站点B处的文件,

11、处的文件, 它不是将它不是将B处的文件取过来,而是执行一个远程过程处的文件取过来,而是执行一个远程过程 调用,以调用一个在调用,以调用一个在B点已定义好的过程,该过程可点已定义好的过程,该过程可 对对P所需的文件进行适当计算,然后将结果发送给进所需的文件进行适当计算,然后将结果发送给进 程程P。 另一种方法是:进程另一种方法是:进程P发一个消息到站点发一个消息到站点B,然,然 后由站点后由站点B处的操作系统创建一个代理进程处的操作系统创建一个代理进程Q,其功,其功 能是执行能是执行P所指定的任务,当所指定的任务,当Q完成使命后,通过消完成使命后,通过消 息将结果送给息将结果送给P,此法允许,此

12、法允许P、Q在不同站点并行。在不同站点并行。 三、作业迁移三、作业迁移 当一个作业到达时,它可以全部或部分地在不当一个作业到达时,它可以全部或部分地在不 同站点处执行,其优点是:同站点处执行,其优点是: 1、负载平衡:作业或作业步可以在网上分布以均衡工、负载平衡:作业或作业步可以在网上分布以均衡工 作负载,作负载, 2、计算加速:如果一个作业可以划分为若干子作业,、计算加速:如果一个作业可以划分为若干子作业, 这些子作业可以在不同站点处并行执行,则整个作这些子作业可以在不同站点处并行执行,则整个作 业的处理时间能被缩短。业的处理时间能被缩短。 3、硬件优选:有些作业可能只适合于在专用处理机上、

13、硬件优选:有些作业可能只适合于在专用处理机上 运行,例如矩际求逆。运行,例如矩际求逆。 4、软件优选:有的作业可能需要某些站点处的特别软、软件优选:有的作业可能需要某些站点处的特别软 件,而该软件不适合迁移,或迁移开销比作业开销件,而该软件不适合迁移,或迁移开销比作业开销 大。大。 四、进程迁移:四、进程迁移: 进程迁移是将正运行于某站点处理的进程迁移到进程迁移是将正运行于某站点处理的进程迁移到 另一站点,由于在迁移时刻进程已经在原站点运行了另一站点,由于在迁移时刻进程已经在原站点运行了 一段时间,迁移时不仅需要迁移其代码和数据,还应一段时间,迁移时不仅需要迁移其代码和数据,还应 迁移与进程有

14、关的数据结构,即进程控制块,进程迁迁移与进程有关的数据结构,即进程控制块,进程迁 移的目的是实现负载平衡。移的目的是实现负载平衡。 9.4 事件定序事件定序 即确定两个事件发生的先后次序关系,这在集中或即确定两个事件发生的先后次序关系,这在集中或紧耦合系统中是容易做到的,因系统中只有一个公共内存紧耦合系统中是容易做到的,因系统中只有一个公共内存和一个实时时钟;然而在网络和分布式系统中,没有公共和一个实时时钟;然而在网络和分布式系统中,没有公共内存和实时时钟,要确定事件发生的次序有时是不可能的,内存和实时时钟,要确定事件发生的次序有时是不可能的,网络或分布式系统中的网络或分布式系统中的“前发生前

15、发生”关系只是一种偏序(非关系只是一种偏序(非自反)。自反)。 一、前发生关系:一、前发生关系: 1、进程内的事件:由于一个进程用的程序是有序的而、进程内的事件:由于一个进程用的程序是有序的而 且在各自的处理机上运行,故一个进程内的所有事且在各自的处理机上运行,故一个进程内的所有事 件件是有序的是有序的。 2、前发生关系:、前发生关系:(1)如果)如果A和和B是同一进程内部的事件,而且是同一进程内部的事件,而且A在在B前执前执 行,则行,则AB(2)如果)如果A是一个由某一进程发送消息的事件,是一个由某一进程发送消息的事件,B是由另是由另 一进程接收该消息的事件,则一进程接收该消息的事件,则A

16、B;(消息只有在;(消息只有在 被发送后才能被接收)。被发送后才能被接收)。 (3)如果)如果AB且且BC,则有,则有AC. 由于一个事件不可能在其本身之前发生,因而由于一个事件不可能在其本身之前发生,因而 关系关系“”是非自反的偏序。是非自反的偏序。 如果两事件如果两事件A和和B之间不存在之间不存在“”关系,则二关系,则二者者 可以并发执行,且它们之间无因果关系可以并发执行,且它们之间无因果关系。 例:三个进程例:三个进程P、Q、R,它们在不同处理机上运行,它们在不同处理机上运行, 图中圆圈表示事件,箭头表示进程间的消息传送,图中圆圈表示事件,箭头表示进程间的消息传送, 由图可知:由图可知:

17、 (参见备课本参见备课本) 二、全序关系:二、全序关系: 为了确定两事件发生的次序,或者需要一个公为了确定两事件发生的次序,或者需要一个公共共 时钟,或需要完全同步的时钟,在网络和分布式系时钟,或需要完全同步的时钟,在网络和分布式系统统 中很难实现:中很难实现: 1、定义:(在不使用物理时钟前提下定义前发生关系、定义:(在不使用物理时钟前提下定义前发生关系) 全序要求:对于事件全序要求:对于事件A和和B,如果,如果AB,则,则A的邮戳的邮戳 时间应小于时间应小于B的邮戳时间。的邮戳时间。 2、在分布式和网络中实现上述全序要求方法:、在分布式和网络中实现上述全序要求方法: 在每个进程内部定义一个

18、逻辑时钟在每个进程内部定义一个逻辑时钟LCi;它给;它给同同 一进程内的各事件赋予不同的数:某一事件的逻辑一进程内的各事件赋予不同的数:某一事件的逻辑时时 钟值就是它的时间邮戳,在一进程内部,逻辑时钟钟值就是它的时间邮戳,在一进程内部,逻辑时钟可可 以保证:如果事件以保证:如果事件A在事件在事件B之前发生,则有之前发生,则有 Lci(A)Lci(B). 在不同的进程之间此法行不通。例:设两个进在不同的进程之间此法行不通。例:设两个进 程程P1和和P2相互通信,假设相互通信,假设P1于于Lci(A)=200时发送消时发送消息息 给给P2(事件(事件A),而),而P2于于Lci(B)=190时接收

19、到此消时接收到此消息息 (事件事件B),显然违反定义。,显然违反定义。 解决上述矛盾的方法是:进程在接受到一个消解决上述矛盾的方法是:进程在接受到一个消 息时,而且该消息的邮戳时间比接收进程的邮戳时间息时,而且该消息的邮戳时间比接收进程的邮戳时间 当前值还大时,接收进程推进他的逻辑时钟。具体地当前值还大时,接收进程推进他的逻辑时钟。具体地 ,如果进程,如果进程P接到一个邮戳时间为接到一个邮戳时间为t的消息的消息(事件事件B), Lci(B)t,则她推进其时钟,使则她推进其时钟,使Lci(B)=t+1。 9.5 进程互斥进程互斥 为了解决网络和分布式系统中互斥问题,必须提供类为了解决网络和分布式

20、系统中互斥问题,必须提供类似信号灯的同步机构。为简单起见,这里只讨论二值信号似信号灯的同步机构。为简单起见,这里只讨论二值信号灯的实现(相当于锁),由于网络和分布式系统中的互斥灯的实现(相当于锁),由于网络和分布式系统中的互斥所涉及的进程可能位于不同站点,它们之间没有公共内存所涉及的进程可能位于不同站点,它们之间没有公共内存,因此比较复杂,这里假设共有,因此比较复杂,这里假设共有n n个处理机,所有处理机个处理机,所有处理机依次编号为依次编号为1N,每个处理机中仅有一个进程,且进程,每个处理机中仅有一个进程,且进程与处理机具有相同编号。与处理机具有相同编号。 一、集中方式:一、集中方式: 1、

21、基本思想:系统中有一个进程负责协调对于临界区、基本思想:系统中有一个进程负责协调对于临界区 的进入。每一个要求进入临界区的进程都必须发送的进入。每一个要求进入临界区的进程都必须发送 一个请求给协调者进程,仅当收到协调者进程的回一个请求给协调者进程,仅当收到协调者进程的回 答信号后,它才能进入自己的临界区;当一个进程答信号后,它才能进入自己的临界区;当一个进程 退出临界区时,也需发送一个释放信号给协调者进退出临界区时,也需发送一个释放信号给协调者进 程,然后继续执行。程,然后继续执行。 当收到一个请求消息时,协调者进程需考查是否当收到一个请求消息时,协调者进程需考查是否 有某些进程正在其临界区内

22、,若无,协调者进程发送有某些进程正在其临界区内,若无,协调者进程发送 一个回答消息给请求进程,否则请求进程需排队等待一个回答消息给请求进程,否则请求进程需排队等待 ,若协调者进程收到一个释放消息,则它给等待队列,若协调者进程收到一个释放消息,则它给等待队列 中的某一进程发送回答信号允许它进入其临界区。中的某一进程发送回答信号允许它进入其临界区。 2、特点:、特点: (1)无死锁)无死锁 (2)如协调者进程是公平的,如)如协调者进程是公平的,如FCS,则不会发生则不会发生“饿饿 死死”现象。现象。 (3)每次进入临界区需三个消息:请求、回答、释放)每次进入临界区需三个消息:请求、回答、释放. 二

23、、分布方式:二、分布方式: 1、方法:当一个进程、方法:当一个进程P要进入其临界区时。它产生一要进入其临界区时。它产生一个个 新的时间邮戳新的时间邮戳TS,并发送一个,并发送一个Request(P,TS)给给 所有其它进程,当某个进程接收到此消息时它可能所有其它进程,当某个进程接收到此消息时它可能 立即回答(如果它当前不在其临界区内);也可能立即回答(如果它当前不在其临界区内);也可能 延迟回答(如果它当前正在其临界区内)。一个收延迟回答(如果它当前正在其临界区内)。一个收 到系统中所有进程回答信号的进程可以进入它的临到系统中所有进程回答信号的进程可以进入它的临 界区,当一个进程退出其临界区后

24、,它需要给所有界区,当一个进程退出其临界区后,它需要给所有 向它发来请求消息的进程发送回答消息。向它发来请求消息的进程发送回答消息。 2、进程作出立即回答或延迟回答的决定因素:、进程作出立即回答或延迟回答的决定因素: (1)如果进程正在它的临界区内,延迟回答)如果进程正在它的临界区内,延迟回答 (2)如果一个进程不想进入特的临界区,立即回答)如果一个进程不想进入特的临界区,立即回答; (2)如果一个进程想进入但尚未进入它的临界区,该进如果一个进程想进入但尚未进入它的临界区,该进 程考查所有保存的请求表,此表用于保存该进程已程考查所有保存的请求表,此表用于保存该进程已 收到但尚未回答的消息,并将

25、当前收到的收到但尚未回答的消息,并将当前收到的 REQUEST(P,TS)消息中的消息中的TS与该表中所有消息的与该表中所有消息的 TS作比较,如果这个作比较,如果这个TS比表中所有消息的比表中所有消息的TS都小都小, 则立即回答进程则立即回答进程P,否则,否则REQUEST被加到等待表被加到等待表中中 3、上述算法特性:、上述算法特性: (1)可实现互斥)可实现互斥 (2)确保无死锁)确保无死锁 (3)无)无“饿死饿死“情况情况 (4)每次进入临界区需)每次进入临界区需2(N-1)个消息。)个消息。 三、标志传递方式:三、标志传递方式: 1、方法:该法仅适用于逻辑拓朴结构为环形的系统,为、方

26、法:该法仅适用于逻辑拓朴结构为环形的系统,为 实现互斥,系统中有一个标志。它作为特殊类型的实现互斥,系统中有一个标志。它作为特殊类型的 消息在系统中环行。当一个进程接收到这个标志后,消息在系统中环行。当一个进程接收到这个标志后, 它就可以进入其临界区,并扣留这个标志;当它退出它就可以进入其临界区,并扣留这个标志;当它退出 临界区之后,标志才被释放,并沿环路继续绕行,如临界区之后,标志才被释放,并沿环路继续绕行,如 果一个接收到标志的进程并不想进入其临界区,只需果一个接收到标志的进程并不想进入其临界区,只需 放行此标志。放行此标志。 2、此法特点:、此法特点: (1)可实现互斥。因系统中只有一个

27、标志,则最多)可实现互斥。因系统中只有一个标志,则最多 只有一个进程在其临界区内。只有一个进程在其临界区内。 (2)无)无“饿死饿死”情况(在单向环形系统中)情况(在单向环形系统中) (3)两种失效情况:)两种失效情况: 一是如果标志丢失,则应能发现并选择一个进一是如果标志丢失,则应能发现并选择一个进 程产生新标志。程产生新标志。 二是如果一个进程夭折了,则逻辑环断裂,此二是如果一个进程夭折了,则逻辑环断裂,此 时系统应能重构一个新的逻辑环。时系统应能重构一个新的逻辑环。 9.6 9.6 进程同步与进程通信进程同步与进程通信 在网络与分布式系统中,同步机制与通信机制通常结在网络与分布式系统中,

28、同步机制与通信机制通常结合在一起合在一起:通信可以同步进行,也可以异步进行,对于前通信可以同步进行,也可以异步进行,对于前者,通信伴随着同步;对于后者,通信不伴随同步。当通者,通信伴随着同步;对于后者,通信不伴随同步。当通信信息量为零时,进程之间便可以实现单一的同步。信信息量为零时,进程之间便可以实现单一的同步。 同步与通信机制常分为两类,消息传递和远程过程调用。同步与通信机制常分为两类,消息传递和远程过程调用。 一、消息传递:一、消息传递: 消息传递分为同步和异步两类,前者需等待接收消息传递分为同步和异步两类,前者需等待接收 者的回答后继续,后者不需等待来自接收者的回答。者的回答后继续,后者

29、不需等待来自接收者的回答。 (一)同步消息传递:(一)同步消息传递: 1、需提供以下系统调用命令:、需提供以下系统调用命令: (1)发送命令:)发送命令:send(接收者、消息、回答)将消(接收者、消息、回答)将消 息发送到指定的接收者,然后挂起,等待来自息发送到指定的接收者,然后挂起,等待来自 接收者的回答,之后继续。接收者的回答,之后继续。 (2)接收命令:)接收命令:receive(发送者、消息),等待接(发送者、消息),等待接 收来自发送进程的消息。收来自发送进程的消息。 (3)回答命令:)回答命令:reply(发送者,回答),将回答(发送者,回答),将回答 信息传给发送进程,使之继续

30、执行。信息传给发送进程,使之继续执行。 2、异步消息传递的形式、异步消息传递的形式 (高等教育出版社高等教育出版社操作系统教程操作系统教程周长林周长林 P219) (一一)异步消息传递:异步消息传递: 1、所需系统调用命令:、所需系统调用命令: (1)发送命令:发送命令:send(接收者,消息(接收者,消息/回答),将消息回答),将消息或或 回答发害给接收者,然后继续。回答发害给接收者,然后继续。 (2)接收命令:接收命令:receive(发送者,消息(发送者,消息/回答),由发回答),由发送送 者处接收消息或回答,然后继续者处接收消息或回答,然后继续 2、进程间异步消息传递形式:、进程间异步

31、消息传递形式: 利用发送命令与接收命令可在任意时刻实现利用发送命令与接收命令可在任意时刻实现 同步要求:同步要求: (P219) 二、远程过程调用:二、远程过程调用: 与一般的过程调用相比较,远程过程调用的突出与一般的过程调用相比较,远程过程调用的突出 特点是调用者与被调用者分别属于不同进程,它们均特点是调用者与被调用者分别属于不同进程,它们均 是主动体,而且二者常运行于网络或分布式系统中不是主动体,而且二者常运行于网络或分布式系统中不 同站点上,这带来如下问题:同站点上,这带来如下问题: (1)在本地过程调用中,调用参数及返回结果一般通在本地过程调用中,调用参数及返回结果一般通 过堆栈在调用

32、者与被调用者之间传递;而在远程调过堆栈在调用者与被调用者之间传递;而在远程调 用中,调用参数与结果通常作为消息在调用者之间用中,调用参数与结果通常作为消息在调用者之间 传递;传递; (2)在本地过程调用中,调用过程与被调用过程同时在本地过程调用中,调用过程与被调用过程同时 存在,并且属于同一地址空间,而在远程过程调存在,并且属于同一地址空间,而在远程过程调 中,调用者与被调用者有不同的生存期,而且通中,调用者与被调用者有不同的生存期,而且通 常无公共存储区域。常无公共存储区域。 (一一)远程过程调用形式远程过程调用形式(P220图图10-12) 方法:调用进程称作顾客进程,被调用进程称为服方法

33、:调用进程称作顾客进程,被调用进程称为服 务进程,顾客进程调用服务进程中的过程,调务进程,顾客进程调用服务进程中的过程,调 用参数以消息的形式由调用者传送给被调用者用参数以消息的形式由调用者传送给被调用者, 调用者挂起,被调用者执行相应的过程,执行调用者挂起,被调用者执行相应的过程,执行 完毕将返回值以消息形式传送给调用者,然后完毕将返回值以消息形式传送给调用者,然后 二者分别继续。二者分别继续。 (二二)远程过程调用的实现:远程过程调用的实现: 在远程过程所在站点内,应当存在一个在远程过程所在站点内,应当存在一个“代理进代理进 程程”,它受调用进程之托,执行被调用的远程过程,代,它受调用进程

34、之托,执行被调用的远程过程,代 理进程和调用进程有不同生存期,这有以下情况理进程和调用进程有不同生存期,这有以下情况: (1)对每一个远程过程调用建立一个代理进程,即代对每一个远程过程调用建立一个代理进程,即代 理进程在调用时建立,结束时撤消,这样,代理理进程在调用时建立,结束时撤消,这样,代理 进程的生存期间调用期间,一个站点可以同时存进程的生存期间调用期间,一个站点可以同时存 在多个执行同一远程过程的进程,并发性好,空在多个执行同一远程过程的进程,并发性好,空 间开销小,时间开销大。间开销小,时间开销大。 (2)对每位顾客建立一个代理进程,即顾客进程开始对每位顾客建立一个代理进程,即顾客进

35、程开始 时建立代理进程,顾客进程结束时撤消代理进程时建立代理进程,顾客进程结束时撤消代理进程, 这样,代理进程生存期与顾客进程相同。一个站这样,代理进程生存期与顾客进程相同。一个站 点可以同时存在多个执行同一远程进程的进程,点可以同时存在多个执行同一远程进程的进程, 并发性好,空间开销大,时间开销小。并发性好,空间开销大,时间开销小。 (3)为每次服务建立一个代理进程,即在一个站点为每次服务建立一个代理进程,即在一个站点中中 仅存在一个执行远程过程的代理进程,该进程不仅存在一个执行远程过程的代理进程,该进程不 间断地执行,读取服务请求消息,执行相应过程间断地执行,读取服务请求消息,执行相应过程

36、, 然后返回回答消息,这一服务进程可被多个顾客然后返回回答消息,这一服务进程可被多个顾客 调用,此时,时间与空间开销较小,但响应速度调用,此时,时间与空间开销较小,但响应速度 慢。慢。 9.7 死锁处理死锁处理 传统系统中所用的死锁预防、避免,以及检测等算法传统系统中所用的死锁预防、避免,以及检测等算法的思想一般也适合于网络和分存式系统,只需做某些适当的思想一般也适合于网络和分存式系统,只需做某些适当的修改。的修改。 例如:只要在系统事件之间定义一个全序,资源分配例如:只要在系统事件之间定义一个全序,资源分配预防死锁技术就可用于网络和分布式环境中,也即,系统预防死锁技术就可用于网络和分布式环境

37、中,也即,系统内所有资源被赋予一个唯一的编号,一个进程可以要求一内所有资源被赋予一个唯一的编号,一个进程可以要求一个编号为个编号为I的资源,当且仅当它未占有编号比的资源,当且仅当它未占有编号比I更小的资源更小的资源。只要确定系统中某个进程为银行家,由它保持执行银行。只要确定系统中某个进程为银行家,由它保持执行银行家算法所必需的信息,并负责系统中资源的分配,则银行家算法所必需的信息,并负责系统中资源的分配,则银行家算法也同样适合于网络和分布式系统家算法也同样适合于网络和分布式系统 一、死锁预防:一、死锁预防: (一一)死锁产生的四个必要条件:互斥条件,请求和保死锁产生的四个必要条件:互斥条件,请求和保 持条件、不剥夺条件、环路等待条件持条件、不剥夺条件、环路等待条件 (二二)网络与分布式系统中预防死锁的方法:通过剥夺网络与分布式系统中预防死锁的方法:通过剥夺资资 源以破坏循环等待条件。源以破坏循环等待条件。 方法:赋给每个进程一个唯一的优先数,这个优先数方法:赋给每个进程一个唯一的优先数,这个优先数 被用于决定一个进程被用于决定一个进程Pi 是否等待另外一个进程是否等待另外一个进程 Pi。 例如:如果例如:如果Pi具有更高的优先数,可以令具有更高的优先数,可以令Pi等待等待Pj, 否则否

温馨提示

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

评论

0/150

提交评论