zoukankan      html  css  js  c++  java
  • [Operating System] {ud923} P4L1: Remote Procedure Calls

    RPC is an IPC mechanism that specifies that the processes interact via procedure call interface.

     Birrell, Andrew, and Bruce Nelson.

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

     Why RPC?

    Benefits of RPC 

     

     RPC Requirements

      

     Structure of RPC

     

    Once the result is computed, it will take the reverse path. It will go through the server step that will first create a buffer for that result, 

    then it will send the response back via appropriate client connection, arriving on the client side into the RPC run time.

    the packets will be received. the result will be extracted from those packets by the client side stub, be placed somewhere in memory in the client address space, and ultimately the procedure will return to the client process.

    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

  • 相关阅读:
    C#中IDisposable学习
    C# volatile与lock
    TFS源代码管理
    C#如何获取真实IP地址
    c# 协变和逆变
    基本数据类型
    用户交互
    变量.常量
    输出语句,注释,
    基础知识随笔
  • 原文地址:https://www.cnblogs.com/ecoflex/p/10943541.html
Copyright © 2011-2022 走看看