《远程过程调用》PPT课件

《远程过程调用》PPT课件

ID:41327886

大小:284.06 KB

页数:60页

时间:2019-08-22

《远程过程调用》PPT课件_第1页
《远程过程调用》PPT课件_第2页
《远程过程调用》PPT课件_第3页
《远程过程调用》PPT课件_第4页
《远程过程调用》PPT课件_第5页
资源描述:

《《远程过程调用》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、消息传递与过程调用的类似性远程过程调用send/receive/reply这种通信形式与大多数传统程序设计语言中的过程调用非常类似,见图,其中,“调用者/源”先挂起,然后把“参数/消息”传递给“被调用者/宿”,让它们去执行相应的任务;当任务执行完后返回时,它(们)再把作为结果的“参数/消息”回送给“调用者/源”,后者再继续执行下去。远程过程调用远程过程调用(RemoteProcedureCall简称RPC)是一个会晤层协议.虽然这种描述不完全对,因为,允许存在与利用RPC实现的应用层协议某些混合.RPC原理原先由Xerox的研究人员所开发.远程过程调用为了实现NF

2、S,Sun公司的工程师开发了他们自己的RPC技术,通常称为SunRPC或ONC/RPC.ONC/RPC不仅用于NFS的实现,也用于许多其它网络应用.存在和ONC/RPC不同的其它RPC技术,例如DECRPC.虽然它们都遵从同样的概念途径,但是它们有不同的内部结构,因此,无互操作性.RPC和本地过程调用的比较远程过程调用过程调用把“数据”和“控制”这两者从调用者传递给被调用者。过程是易于理解的,而且已经广泛地用作传统程序设计语言的基本组成成份。基于此原因,人们自然想起应把这个概念引入分布式操作系统。远程过程调用远程过程调用(RemoteProcedureCall)就

3、是把过程调用的概念加以扩允后引入分析式环境中的一种形式。远程过程调用的形式和行为与传统的过程调用的形式和行为类似,主要差别在于被调用的过程实际运行在一个与调用者所在场点不同的场点上,见图。因此,需要设计相应的软件来实现两者之间的连接和信息沟通。远程过程调用示意图RPC的通信模型图RPC机制的结构及实现RPC机制的结构由下列成份组成:⑴stub:client和server各一个;⑵约束(binding):使client能够定位到相应的server;⑶控制部分:为追踪RPC的调用状态所设;⑷传送部分:确定如何将信息从一个场点传送到另一个场点。实现RPC的一般过程图实现

4、RPC的一般过程实现RPC的一般过程实现RPC的一般过程可概括如图所示:其中,客户的stub与一个客户连接,它对于该客户就像一个“服务器”。在调用时,它截取客户的远程过程调用命令后,利用通信网络向服务器发送“请求服务”的信息。在返回时,它获取返回消息,并带返回结果返回到客户,然后客户继续执行。实现RPC的一般过程Server’sstub与一个server连接,它对于该server就像一个“client”。在调用时,它收到远程调用请求后,产生一个本地调用,去执行被请求的远程过程。在返回时,它截取远程过程的返回结果,并形成返回消息发送出去。实现RPC的一般过程总之,s

5、tub包含了一组RPC机制的操作原话,这些原语构成了RPC调用的实现细节,它可独立于client和server编程,在编译时再连接起来。实现RPC的一般过程RPC的实现要考虑两个方面的问题:第一,当进行远程过程调用时,调用场点必须能定位出被调用的过程实际上运行在哪个场点上;第二,相关的两个场点必须能协同合作交换信息。所有这些对用户都是透明的,这些的工作是依次进行的。下面介绍一种实现RPC的方法.其实现思想已概括在图中。RPC的实现概况图RPC的实现概况如上所述,每个远程过程由若干成分组成:调用者(caller)或用户(user),调用代码段,以及被调用者(call

6、ee)或服务器,被调用代码段。这些都可用常规的程序设计语言编写,不需要利用特别的设施,就象它们在同一场点上执行一样。另一些成分是与调用者相关的stub,与被调用者相关的stub以及RPCruntime子程序,后者可在系统中所有场点上运行。RPC的实现概况stub程序的功能是把这种过程调用中所带的参数组装和拆卸成消息形式,并进行相应的类型检查,然后把这些消息传递给RPCruntime子程序,后者再把它们发送到系统中的其它场点。事实上,程序设计者定义了过程并写好了过程体,而系统生成了对应的stub。主要工作环节实现一个远程过程调用的主要工作环节如下:⑴调用者用通常方式

7、调用对应stub中的一个过程;⑵这个stub过程把有关的参数组装成一个消息包或一组消息包,以形成一条消息。运行此过程的那个场点的“地址”和那个场点上指称此过程的“标识符”都应包含在这条消息中;主要工作环节⑶将这条消息发送给对应的RPCruntme子程序,该子程序再把它发送给指定的场点。⑷在接收此消息时,远程runtime子程序引用与被调用者对应的stub中的一个子程序,并让它来处理这条消息;主要工作环节⑸被调用者对应的stub中的这个子程序拆卸有关的参数并用通常的过程调用方式调用所需的过程。⑹返回调用结果,整个远程过程调用以与调用者对应的stub程序执行“retu

8、rn”语句

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。