8网络与分布式系统_50980834.ppt





《8网络与分布式系统_50980834.ppt》由会员分享,可在线阅读,更多相关《8网络与分布式系统_50980834.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 8 章 网络与分布式处理8.1 分布式系统概述8.2 网络服务器8.3 进程迁移8.4 分布式进程通信8.5 分布式进程管理8.6 分布式进程死锁问题8.1 分布式系统概述 分布式计算机系统(Distributed computer systems)是由多个分散的计算机经互连网络连接而成的计算机系统。其中各个资源单元(物理的或逻辑的)既相互协同又高度自治,能在全系统范围内实现资源管理,动态地进行任务分配或功能分配,并能并行地运行分布式程序。分布式计算机系统是多机系统的一种新形式,涉及资源、任务、功能和控制的全面分布。分布式能力包括以下几个方面 通信结构。通信结构是支持各个独立计算机连网的软
2、件。它提供支持分布式应用,例如电子邮件、文件传输和远程终端的存取。网络操作系统。网络中的各台计算机配置各自的操作系统,网络操作系统把它们有机地联系起来。分布式操作系统。它是为分布式计算机系统配置的操作系统,是网络中计算机共享使用的一个公共的操作系统。在用户看来,它像一个普通的集中式操作系统。但它向用户提供透明存取许多计算机上资源的能力。返回上一页分布式计算机系统与计算机网络的主要异同 在计算机网络中,每个用户或任务通常只使用一台计算机,若要利用网络中的另一台计算机,则需要远程注册。在分布式计算机系统中,用户进程在系统内各个计算机上动态调度,并根据运行情况,由分布式操作系统动态地、透明地将机器分
3、配给用户进程或任务。在计算机网络中,用户知道它们的文件存放在何处,并用显示的文件传输命令在机器之间传送文件。在分布式计算机系统中,文件的放置由操作系统管理,用户可用相同方式访问系统中的所有文件而不管它们位于何处。在计算机网络中,各节点计算机均有自己的操作系统,网络内的进程调度通过进程迁移和数据迁移实现。在分布式计算机系统中,每个场点上运行一个局部操作系统,场点相互协同,合作平衡系统内的负载。在计算机网络中,系统几乎无容错能力,在分布式计算机系统中有系统自动重构、适度降级使用及错误恢复功能。两者透明性的程度和级别不同。就资源共享而言,计算机网络和分布式计算机系统是类似的。u通信结构 当计算机、终
4、端和其他数据处理设备交换数据时,涉及的过程是非常复杂的。下面以连网的两个计算机之间进行文件传输为例,说明实现时需要的几个任务:源系统必须告诉网络目标系统的标识。源系统必须测定目标系统是否已做好接收数据的准备。源系统上的文件传输应用必须判明目标系统上的文件管理程序是否准备接收并存储这个特定用户的文件。(4)如果两个系统的文件格式不一致,其中之一必须实现文件格式的转换功能。下图给出了文件传输技术的一个实现方法。它由三个模块组成:文件传输模块、通信服务模块和网络存取模块。一个简单的通信结构 通常,通信涉及三个方面:应用、计算机和网络。这里的应用是指涉及两个计算机系统之间进行数据交换的分布式应用。电子
5、邮件和文件传输是这些应用的典型例子。计算机是支持多任务并发和采用多道程序设计技术运行这些应用的,并且这些计算机是通过网络相互连接的。被交换的数据通过网络从源应用所在计算机传送到目标应用所在计算机。因此,一个通信任务组织成相对独立的三层:网络存取层、传输层和应用层。网络存取层 网络存取层负责的是计算机与其连接网络之间的数据交换。发送计算机必须向网络提供目标计算机的地址,以便网络为发往指定目标的数据选择路由。同时,发送计算机希望调用网络提供的一些服务,如优先级服务等。这一层的软件依赖于所使用的网络类型:对于线路交换、成组报文交换、局域网和其他网络都已开发了各种不同的标准。例如x.25是存取成组报文
6、交换网的标准。因此,将网络存取必须做的这些功能构成一个独立层是比较合理的。这样网络存取层之上的其他通信软件不必关心所用网络的细节,不管使用什么网络连接计算机,较高层的软件都应能正确工作。传输层 传输层的功能是,不管交换数据的各个应用性质是什么,都应该确保可靠地进行数据交换。即确保数据按照发送的顺序到达目标应用。传输层为所有应用提供了可靠的传输机制。应用层 应用层包含了支持各用户应用所需的逻辑。对于每个不同的应用,如文件传输,都需一个独立的模块支持。每个计算机都包含了网络存取层和传输层的软件以及支持一个或多个应用的应用层软件。为了成功地进行通信,整个系统中的每个实体都必须有一个惟一的地址,实际上
7、需要两级编址:网络上的每个计算机必须有一个惟一的网络地址,以便网络将数据发送给正确的计算机。每个计算机上的每个应用必须有一个惟一的地址,以便传输层将数据发送给正确的应用。这里的应用地址叫做服务存取点。通过它,每个应用可以独立地访问传输层的服务。不同计算机上同一层的模块使用协议彼此进行通信。协议是一组规则或约定。它用来控制两个实体为交换数据进行合作的方法。协议的规范详细说明了可以执行的控制功能、通信的使用的格式和控制代码以及两个实体必须遵循的方法。为了清楚地理解两个计算机采用协议的通信过程,让我们跟踪一个简单的操作。设计算机A上与SAP1相关的应用希望发送一个信息给计算机B上与SAP2相关的另个
8、应用。A上的应用将要发送给B的SAP2的信息递交给它的传输层,传输层将这个信息传递给网络存取层,指示网络将这个信息发送给计算机B。网络不需要知道接收这个信息的目标服务存取点的标识。只要知道接收信息的目标计算机就可以了。为了控制这个操作的实现,必需的传输控制信息以及用户数据如下图所示。应用层的发送应用程序产生一个数据块并将它传送给传输层。传输层可以将这个数据块分解成两个便于管理的较小的块,并给这样的数据块追加一个传输头,它包含了协议控制信息。较高层来的数据和控制信息的组合叫做协议数据单元(PDU)。每个传输PDU的头包含了计算机B的同层传输协议要使用的控制信息。这个头中存储的信息项通常包含下面一
9、些内容:目标SAP。当目标传输层接收到传输协议数据单元时,它必须知道数据将要发送给它的哪一个应用。序列号。因为传输协议正在发送一系列协议数据单元,为此,对其发送的数据单元进行顺序编号。错误检测码。发送传输实体可以计算和插入一个错误检测码,以便接收者能确定传输是否有错。若有错,放弃这个PDU,请求重发。之后,传输层将每个PDU传送给网络层,以便将它进一步发送给目标计算机。为了满足这个发送请求,网络存取协议必须将数据和传输请求传送给网络。同样,这个操作也需要控制信息。为此,网络存取协议为从传输层接收的数据追加一个网络存取头,创建一个网络存取PDU。这个头通常包含下面一些信息:目标计算机地址。网络必
10、须知道数据应发送给网上的哪个计算机。设施请求。网络存取协议可能要求网络使用一些设施,如优先级服务等。下面以前图为例,说明从计算机A向计算机B传输一块数据时,各模块之间的交互以及使用的命令。当计算机A中的某个应用要向计算机B的SAP2相关的应用发送一个文件的记录时,使用命令:A.send(Dest.Host,Dest.SAP2,record);传到传输层时,传输层模块将目标服务存取点(Dest.SAP2)和其他控制信息追加到记录上,创建一个传输协议数据单元(T_PDU)。然后用传输发送命令(T.send)再向下传送给网络存取层:T_send(Dest.Host,T_PDU);网络存取层模块使用这
11、个信息构造网络存取协议数据单元。假定网络是x.25分组报文交换网络。这时,网络存取协议数据单元是一个x.25的数据包。网络存取层附加的头信息应该包括连接计算机A和B的虚拟电路的编号。网络接收计算机A的数据报文并发送给B,B中的网络存取模块接收这个报文,将报文的头信息拆下,再将封装好的传输协议数据单元传送给B的传输层模块。传输层再将传输PDU的头信息拆下,检查无误时,根据目标SAP2,将封装好的记录发送给适当的应用,即B中的文件传输模块,最终完成记录的发送工作。返回上一页u开放式系统互连通信结构 国际标准化组织(ISO)在l977年建立了一个分委员会来专门研究这样一种体系结构开放式系统互连OSI
12、(Open System Interconnection)模型。国际标准化组织(ISO)分委员会的任务是定义一系列层和每一层应完成的服务。OSI参考模型的特性可描述为:这是一种将异构系统互连的分层结构。它提供了控制互连系统交互规则的标准骨架。它定义了一种抽象结构,而不是具体实现的描述。不同系统上相同层的实体称为同等层实体。同等层实体之间通信由该层的协议管理。相邻层间的接口定义了原语操作和低层向高层提供的服务。每层完成所定义的功能,修改本层的功能不影响其他层。两个实体间的直接数据传送在最低层实现,且以位流的形式传送。物理层 国际标准化组织为开放式系统互连的七层参考模型中的物理层的定义如下:“物理
13、层为启动、维护和释放数据链路实体之间二进制位而进行的物理连接提供机械的、电气的、功能的和规程的特性,这种物理连接允许进行全双工或半双工的二进制位流传输。”机械特性。它规定了数据传输设备和传输介质之间连接时所采用的可接插连接器的规格尺寸,连接器的引脚数以及信号线的排列情况等。电气特性。它规定了在物理连接器上传输比特流时线路上信号“1”和“0”电压的大小、信号维持的时间、传输速率和脱离限制等。功能特性。它规定了物理接口上各条信号线的功能分配和确切定义。物理接口上的信号线通常有:数据线、控制线、同步线和地线等。规程特性。它定义了利用信号线进行比特流传输时使用的一组操作过程,即各信号线工作的规则和各信
14、号时序的先后顺序。最通用的物理层接口标准之一是RS-232-C和之后的美国电子工业协会(EIA)提出的EIA RS-232-C接口标准。RS-232-C接口是一个具有25针的连接器,可采用单向、半双工、全双工等多种传送方式。数据链路层 数据链路层协议的主要功能是,在相邻的两个计算机之间建立、维持和释放一条或多条数据链路。其主要工作是将数据按规定的格式(帧)组织起来,进行传输,保证数据传输无差错,按顺序到达目的地。在链路上实现帧的同步,以及进行差错控制、流量控制和顺序控制等。HDLC(高级数据链路控制协议)是ISO制定的一个标准。通常用在计算机与计算机链路和计算机与终端链路连接上。HDLC协议涉
15、及到各种类型的操作方式,通常使用的有三种方式:正常响应方式(NRM)。这种方式用于一个主站(计算机)和一个或多个次站(终端)连接的多点式结构。异步响应方式(ARM)。仅用于一个主站和一个次站的点到点的连接。异步平衡方式(AHM)。这种方式主要用于通信双方都是混合站的结构。混合站的主要功能是既要发送命令帧,又要接收命令帧,并负责整个链路的控制。返回上一页网络层 网络层提供了计算机之间通过某类通信网的信息传输。它接收来自数据链路层的服务,并向传输层提供服务。网络服务负责建立、维护和终止网络连接手段。网络中任意两台主机的通信都是由通信子网完成的。网络层则是通信子网的最高层。网络层直接为主机服务,这种
16、服务分为两大类:虚拟电路和分组数据报文交换。虚拟电路服务是指两个主机通信之前,网络层负责建立一条通路,称为虚拟电路。虚拟电路一经建立,就为某一对主计算机服务。数据传输结束时,拆除该电路。分组报文服务是指网络层直接从传输层接收报文并负责传送。网络层应负责为传送的报文选择路由,以便使各分组报文能正确到达目的地。如果子网使用数据报文服务,则对每一个到达的报文分组都需作一次路由选择。但对子网采用虚拟电路服务时,只有当一条新的虚拟电路建立时才做一次路由选择。路由选择要求做到正确、简单、牢靠、稳定、公正和最优化。网络层还负责对死锁和拥挤的控制。网络层另外还提供网际互联的服务。传输层 传输层的功能是在通信用
17、户之间提供点到点的可靠的通信服务。传输层提供的服务主要有:传输连接管理和数据传输。所谓传输连接管理就是在两个传输用户之间建立和维护一条畅通的传输通道。数据传输服务则要求在一对传输用户之间提供相互交换数据的方法。为了保证用户进程之间的可靠的点到点传输通信,传输层必须具备以下主要功能:将传输层所给的传输地址映射到网络层的网络地址。将多路的点到点的传输连接变成一路网络连接。传输连接的建立或释放。差错检测和恢复。对传输的信息进行分块。对传输的数据进行缓冲和流量控制。完成给定的传输服务数据单元的传送。会话层 会话层接收从传输层来的任务,同时又为表示层服务。会话层的主要任务是提供一种有效方法,以便组织并协
18、调两个表示实体进程之间的对话,并管理它们之间的数据交换。会话层的功能包括:在两个表示实体之间建立会话连接,以进行正常的数据传输。控制两个表示实体之间的数据交换,限制和同步数据操作的会话服务。恢复功能。会话层可以提供一个同步检查点机制,以便两个检查点之间产生某类错误时,会话实体可以重新发送自上一检查点以来的全部数据。一个表示层实体同另一个表示层实体之间建立会话连接时必须满足下列两个条件:它主动发起一个会话连接;接收对方提出的会话连接。表示层 表示层向上为应用层提供服务,向下接收来自会话层的服务。表示层的目的是对应用层送来的命令和数据内容加以解释说明,并对各种语法赋以应用的含义,以便使从应用层送入
19、的各种信息具有明确的表示意义。每种计算机都有自身的描述数据的方法,所以不同类的计算机之间必须进行数据转换才能相互了解。表示层的任务就是对发送方内部格式的数据结构进行编码,使形成的比特串适应于传输。然后在目的地接收方进行解码,转换成所要求的格式。表示层有四个主要功能:提供执行会话层原语的方法;提供说明复杂数据结构的方法;管理所需要的数据结构的集合:数据转换工作。由此可见,表示层是为用户进程提供服务的,这些服务项目包括密码技术(加密和解密)以及文本压缩(减少通信传输的信息量)等。应用层 应用层为应用程序提供存取OSI环境的手段。这一层包含支持分布式应用的各种管理功能和公用的机制。诸如虚拟终端服务和
20、协议、文件传送、电子邮件的访问和管理的服务和协议等。所谓虚拟终端就是把各种实际的不同类型的终端映射成一个标准终端,而这种标准终端是抽象的、虚拟的。计算机网络要能支持这种虚拟终端。用户只能看到一个叫做虚拟终端的实体,由这个虚拟终端进行服务,使这样两个相关的实体根据一定的协议相互配合工作,这就是虚拟终端协议。所谓文件传输协议是指将一个文件从一个开放系统传送到另一个开放系统时,利用下面六层提供的服务,在两个交换文件的系统之间建立一条逻辑的通路,以便实现文件的存取、访问和管理。8.2 网络服务器 网络,特别是局域网的优点之一是能够共享价格昂责的资源,如辅存设备和高质量的打印机。通常的方法是在局域网上提
21、供一个或多个服务器。u服务器的结构 下图所示的服务器是专为网络提供共享资源、管理网络通信的局域网中的核心设备。这类设备通常由一台或多台专用的微型计算机构成,控制一台或多台可共享的资源。返回上一页它的一般结构如下图如示。服务器与网络上的其它工作站一样,它有一个网络接口模块,该模块包括了与局域网交互所需的硬件和软件;用户工作站也包括了一个网络接口。此外它还包含了与服务器通信的一些网络逻辑。这种结构的服务器功能强,而且灵活,其功能表现在它可用于控制各种类型的资源。u磁盘和文件服务器 连到局域网上的文件服务器是一个独立的计算机或一组计算机,以便向局域网上的其他所有系统提供公共的服务。典型的文件服务器是
22、一台高档微机或一台小型计算机,它具有大容量的硬盘,用来存放网络中共享的程序和数据,还可为无盘工作站提供存放私人数据和程序的磁盘空间。除此之外,服务器还可提供其他有用的服务:自动备份和恢复。备份是指周期性地将文件系统内容拷贝到后备盘或磁带上,以防止存储介质故障、用户使用错误和病毒破坏。备份必须定期地进行,个人计算机或工作站上的普通用户不应该担负这个工作。用户流动性。应该允许一个用户在不同的时间不同地点使用不同的计算机。一个文件服务器应提供一个灵活的独立于工作站的工作环境。不必迁移文件存储介质(磁盘或磁带)。与其他文件服务器进行连接。一个组织或机构在一个或多个位置可能有许多局域网。每个局域网部有一
23、个文件服务器。每个文件服务器中都应该实现文件传输功能,以便允许用户存取其他LAN上的文件。u文件高速缓冲存储器的一致性问题 当使用文件服务器时,由于网络传输的延迟,使得文件IO的性能相对于本地文件的存取可能显著地下降。为了减少这个性能损失,各个独立的用户系统可以使用文件高速缓冲存储器保留最近存取的文件记录。由于局部性原理,使用本地的文件高速缓冲存储器将大大减少对远程服务器必须进行的存取次数。下图给出了一组连网的工作站上文件缓冲的一个典型的分布式机制。图8-7给出了一组连网的工作站上文件缓冲的一个典型的分布式机制。当高速缓存总是包含了远程数据的精确拷贝时,高速缓存是一致的。当远程数据已被修改,相
24、应的本地的已过时拷贝还没有废弃时,高速缓存就变为不一致的。当一个客户机修改了由其他客户机高速缓冲的文件时,这种情况也可能发生。这时的困难实际出在两级上。如果客户机采用将对文件修改立即写回到服务器的策略,那么具有这个文件有关部分的高速缓冲拷贝的任何客户机将有着作废的数据。如果客户机对文件修改推迟写回到服务器,这将使问题变得更坏。这样,文件服务器本身就包含了过时的文件版本,若此时有一个对文件服务器上该文件的新请求,获得的将是作废数据。使本地高速缓行的拷贝保持远程数据的最新修改的问题就叫做高速缓存的一致性问题。解决一致性问题的最简单方法是对文件采用加锁技术,以防止多个客户机同时存取一个文件。这是以牺
25、牲性能和灵活性为代价而保证数据一致性的方法。更有效的方法是允许任意多的进程同时打开一个文件读并创建各自的客户机高速缓存。但当有一个对服务器的请求是打开文件写请求,而其他进程打开文件是读存取时,文件服务器采取两个活动。首先,它通知写进程,它可以保持一个高速缓存,但当它修改完时应立即将所有修改块写回到服务器。至多允许有一个这样的客户机。其次,服务器通知所有读进程正在打开的文件不再允许高速缓存。返回上一页u打印机服务器 打印机服务器可以处理许多用户工作站的打印请求。这不仅可以节省打印费用,而且使得打印更加容易和打印速度更快。打印机服务器使用的是操作系统技术中最早使用的技术之一Spooling技术。S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 分布式 系统 _50980834

限制150内