[オペレーティング・システム] {ud923} P4L1:リモートプロシージャコール

RPCプロセスは、プロシージャ・コール・インタフェースを介して相互作用することを指定するIPCメカニズムです。

 

 ビレル、アンドリュー、そしてブルース・ネルソン。

 https://s3.amazonaws.com/content.udacity-data.com/courses/ud923/references/ud923-birrell-nelson-paper.pdf

 

 

 

 

 

 

 なぜRPC?

 

 

 

RPCのメリット 

 

 

 

 RPCの要件

  

 

 

 RPCの構造

 

結果が計算されると、それは逆の経路がかかります。これは、最初にその結果のバッファを作成するサーバーのステップを通過します、 

それは、RPCの実行時にクライアント側に到着し、適切なクライアント接続を介して戻って応答を送信します。

パケットが受信されます。結果は、クライアントのアドレス空間にメモリのどこかに置くこと、そして最終的に手順は、クライアント・プロセスに戻ります、クライアント側スタブによってそれらのパケットから抽出されます。

Before that, the client process will be blocked, and the application will be suspended here.

 

 

 


 

 https://zhuanlan.zhihu.com/p/45700301

 

 


 

 

Steps in RPC 

 

 

 


 

 

https://www.zhihu.com/question/23995948

目前linux进程间通信的常用方法是什么(pipe?信号量?消息队列?)?

 

 

 


 

 

 

Interface Definition Language 

 

 

 


 

 

 

https://www.jianshu.com/p/959030de7f1c

 

 

 

 


 

 

 Specifying an IDL

 

XDR (Sun RPC) Example

 

 

 

 

 Marshalling

 

The encoding specifies the data layout when it's serialized to the bytee stream, so that anybody that looks at it can actually make sense of it.

 

 

 

 Unmarshalling

 

 

 

 Binding and Registry

 

registry => yellow pages

 

 

 

 Visual Metaphor

 

 

 


 

 

https://blog.csdn.net/qq_18425655/article/details/51955674

面试题:TCP协议与UDP协议的区别

 


 

 

 

 

 

 Pointers in RPCs

 

 

 

 Handling Partial Failures

 

 

 

RPC Failure Quiz 

 

 

 

 RPC Design Choice Summary

 

 

 

 

What is SunRPC? 

 

 

 

 SunRPC Overview

 

Sun RPC Documents (maintained by Oracle)

 

 

 

 

 SunRPC XDR Example

 

 

 

Compiling XDR 

 

 

 

 

Summarizing XDR Compilation 

 

 

 

 

 

 

 

To complete the quiz, download the square.x file (if following along with the hints, you will need to rename it to square.x), and run rpcgen!

You can run rpcgen on the Ubuntu VM provided with this class. If you have not setup the Ubuntu VM yet, follow the Ubnutu VM Setup Instructions.

Quiz Errata

There are two issues with the rpcgen commands. First, you should use the following format:

  • rpcgen square.x [flags]

And, because the flags may be difficult to read, here are the full commands:

  • rpcgen square.x -C
  • rpcgen square.x -C -M

 

 

 

 

 SunRPC Registry

 

 

 

 SunRPC Binding

 

 

 

 XDR Data Types

 

RFC 4506 (Defines XDR Data Types)

 

 

 

 

 

 

 

 

 XDR Routines

 

_freeresult procudure => another user defined procedure => user specifies what are all the different data structures, or pieces of state, that need to be freed up after runtime is done.

 

 

 

 

 Encoding

 

 

 

 

 XDR Encoding

 

 

 

 

 

 

 

 Java RMI

 

 Java RMI Tutorials

 

 

 

 

おすすめ

転載: www.cnblogs.com/ecoflex/p/10943541.html