第12章分布式计算机系统.ppt

上传人:hwp****526 文档编号:85507949 上传时间:2023-04-11 格式:PPT 页数:24 大小:123KB
返回 下载 相关 举报
第12章分布式计算机系统.ppt_第1页
第1页 / 共24页
第12章分布式计算机系统.ppt_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《第12章分布式计算机系统.ppt》由会员分享,可在线阅读,更多相关《第12章分布式计算机系统.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第12章分布式计算机系统概述分布式操作系统的特点进程通信分布式文件系统分布式文件系统中的互斥与死锁进程迁移概述什么是分布式计算机系统分布式计算机系统的特点:无主从区分;计算机之间交换信息;资源共享;相互协作完成一个共同任务分布式计算机系统的功能:通信结构;网络操作系统;分布式操作系统(透明性)分布式系统的优点:集中式系统的特点分布的需求分布式系统的优点:方便使用;强壮性和可靠性;资源共享;可扩性;最终用户的生产效率;维护方便分布式操作系统的特点与单机操作系统的区别在进程通信、资源管理和系统结构等方面进程通信与单机的不同处:不共享内存;可靠性低;通信的实现方式取决于通信设施通信协议:语义、语法、

2、定时资源管理与单机的不同处:多管理者管同一类资源管理方式:分布式集中式:一个类中可以有多个资源,但每个资源本身还是由单个管理者管理。完全分布式:每个资源都可以由多个管理者管理。系统结构每台计算机有自己的内核和功能模块不同计算机上可有不同的,也可有相同功能模块(副本)大多资源用分布集中式管理;多机共享资源用完全分布式管理进程通信的概念分布式系统中进程通信由通信元语(按照通信协议实现)完成。对通信机制的要求:独立性和兼容性、有效性、规范性和一致性、保护和出错处理能力目标进程的定位:每台机器上的进程标识、每台机器的标识(相当IP地址);信道和端口(比使用进程名更方便)交互方式同步发送或交互发送异步发

3、送TCP/IP通信协议通信协议:通信的约定和规则的集合OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层TCP/IP的层次和各层的功能:物理层、网络存取层、互联网层、传输层、应用层TCP/IP工作过程说明分布式环境的客户/服务器模式C/S的优点:微内核;规范“进程/进程”和“进程/内核”间关系;OS模块化;使OS具有开放性、灵活性、可扩性对分布式系统的需求C/S的应用类型:基于服务器;基于客户;合作处理C/S的软件层次C/S的软件层次表示逻辑应用逻辑分布式操作系统通信软件客户机操作系统应用逻辑分布式操作系统通信软件客户机操作系统客户 工作站服务器服务请求应答交互通信TC

4、P/IP通信协议的概念进程A6TCPIP网络存取层物理层进程B18TCPIP网络存取层物理层主机M主机N子网子网路由管理程序通信协议数据单元传输头互联网头网络头消息 数据数据数据数据应用字节流传输段数据分子网络成组报文目标子网地址目标主机地址目标端口号分布式进程通信通信机制的分类单向(面向信件)/交互(面向过程)分布式消息传送/远程过程调用(RPC)分布式消息传送:通信元语-ASend(P,M);AReceive(P,B);SSend(P,M);SReceive(P,B)-用异步通信元语实现同步通信(p.274)远程过程调用什么是RPC,以及它的产生背景使用RPC的形式:CALL P(X,Y)

5、RPC的执行过程RPC的设计问题:参数传递;参数表示;C/S连接(非持久/持久连接)远程过程调用机制本地存根远程过程调用机制本地存根远程过程调用机制客户分布式操作系统服务器分布式操作系统远程过程调用远程过程调用应答客户应用服务器应用本地过程调用本地过程调用本地回答本地回答分布式文件系统分布式文件系统概述:历史:90年代初出现大规模的系统特点:网络透明性;位置透明性;位置独立性;C/S模式;文件名字空间的两种构成方式;通过远程文件访问实现;有状态和无状态两种操作类型分布式文件系统的组成分布式文件系统的体系结构客户端高速缓存和一致性问题分布式文件系统的组成分为分布式文件系统客户机程序代码和分布式文

6、件系统服务器代码两部分具体组成:下列成分有些是C/S都有的,有的仅客户有,有的仅服务器有。网络文件系统(NFS)协议远程过程调用(RPC)协议扩展数据表达(XDR)网络文件系统服务器程序代码网络文件系统客户机程序代码安装协议网络文件系统的几个监管进程:服务器方面客户机方面网络锁定管理器(NLM)和网络状态监视器(NSM)分布式文件系统的体系结构这里介绍“网络文件系统(NFS)”和“远程文件共享文件系统(RFS)”两种。网络文件系统(NFS)NFS的体系结构和工作过程RPC的消息格式远程文件共享文件系统(RFS)用流(stream)机制来实现远程文件共享RFS的体系结构和通信NFS的体系结构和工

7、作过程客户系统调用接口NFS客户机程序代码RPC客户机端接口RPC服务器端接口虚拟文件系统VFSrnodeV_dataV_opV_node虚拟文件系统VFSNFS服务器代码本地磁盘特定文件系统服务器客户应用程序RPC调用RPC回答RPC的消息格式RPC请求(调用)传输请求id传输类型(=调用)调用的过程名过程的版本号要调用服务程序的特定过程认证信息RPC协议的版本号过程相关的参数RPC回答消息传输请求id传输类型(=回答)回答的状态信息接受的状态信息认证信息过程相关结果RFS的体系结构和通信RFS客户程序代码用户应用程序系统调用接口本机文件系统本机文件系统本地磁盘RFS服务器程序代码流流虚电路

8、客户端高速缓存和一致性为什么要用缓存:减少网络传输量特点:缓存数据块和文件属性;数据块存在磁盘缓冲区中;文件属性存于rnode;大小文件读法不同;各种与本地文件系统分享缓冲区的方案如何维护缓冲区数据的一致性网络文件系统(NFS):对文件属性,固定周期更新;对读数据,比较服务器中数据的修改时间;对写数据,周期写服务器远程文件共享(RFS)文件系统:对读数据,服务器记住读者,数据修改后,通知它也该。对客户写数据,及时修改服务器数据。分布式文件系统中的互斥与死锁概述:分布式系统中管理资源的方法:分布式集中管理:类似于集中式系统完全分布管理:由不同节点上管理者共同管理对资源管理算法的要求:互斥、不长等

9、、平等实现手段:通过网络传消息;事件定序。逻辑钟和逻辑时时间戳算法(Lamport算法)令牌传送算法逻辑钟和逻辑时定义1逻辑钟:事件通过逻辑钟函数C映射事件C的值的可排序性值定义2逻辑钟函数:初值和本进程事件时序累计首事件时序从发信进程的时序累计非首事件的时序累计定义3事件次序:先按逻辑函数的值排队;然后按进程的编号排队注:这里的时序与通常按始终值大小排队不同。实际上这里关心的仅仅是事件发生的先后次序,并不关心事件发生的时钟时间。时间戳算法(Lamport算法)算法的思路:每个节点要使用互斥资源时先通过通信询问其他节点同意否,只有得到一致同意后才使用该资源算法的数据结构:每个进程有一个数组,数

10、组的入口数与网络上节点的个数相同,每个入口记录着该入口所对应的节点是否同意本节点访问互斥资源。算法执行的简要过程请求互斥资源的进程广播该请求。每个收到该请求的节点根据自身当前情况决定是否同意该请求:如果它未使用该资源,或想用同一资源,但提出请求较迟,则会同意;否则,就直到自己用过该资源后,才表示同意。广播方如果得到所有其他节点的同意,则使用资源使用资源之后,释放资源,并对其他节点使用资源的请求表示同意。令牌传送算法(用于互斥使用共享资源)整个系统只有一块令牌,只有令牌持有者才具有访问共享资源的资格。可能的情况是:有令牌、有请求者:使用共享资源,然后释放对该资源的请求,将令牌发给另一符合条件(时

11、间戳最小或轮转选中的申请者)进程有令牌、无请求者:选择下一个令牌的接受者,将令牌发给它无令牌、有请求:向其他进程广播请求,然后处于等待状态。等待:被刚使用完共享资源者或有令牌无请求者选为令牌的下一个接受者不管有无令牌和请求:只要别的进程广播请求,都得接受,以便在将来如果得到令牌时,可以依据接收到的请求信息选择下一个令牌接受者。令牌传送算法的部分程序段Type status=array1.N of record clock;/*时间戳时间戳*/asking:boolean endVar token,request:status;holder:boolean;/*申请资源过程的代码申请资源过程的代

12、码*/Begin requestI.clock:=1+requestI.clock;requestI.asking:=true;broadcast(request,clock,I);wait(access,token)End/*收到令牌过程的代码收到令牌过程的代码*/Holder:=true;/*进入临界段进入临界段*/TokenI:=requestI.clock;Holder:=false;/*挑选下一个令牌持有者*/For j:=I+1 to n,1 to I-1 do if(requestjtokenj)Requestj.asking then begin requestj.asking

13、:=false;send(j,access,tokenj)endEndif/*接收其他进程发来的信件*/When received(request,clock,j)do requestj.asking:=true;Requestj.clock:=max(requestj.clock,clock);enddo进程迁移进程迁移的原因1.平衡各台机器的负载2.改善通信性能3.避免机器发生预期故障带来的损失4.利用机器的专有功能进程转移机制由进程启动的迁移:上面的原因4由OS启动的迁移:上面的原因1、2、3进程迁移时要迁移的信息和要做的工作迁移进程映像(至少是进程控制块PCB)把原进程的通信连接修改到迁移后进程根据进程大小迁移整个进程或部分进程对虚拟内存管理时的缺页处理不仅要考虑传输的信息量,还要考虑传输的次数。源机器维持进程的页表或段表若源进程在源机器上锁住文件互斥使用则文件也要迁移;否则,文件不必随进程一起迁移

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁