Remote Procedure Calls (RPC)

Поділитися
Вставка
  • Опубліковано 9 вер 2024
  • Operating System: Remote Procedure Calls (RPC)
    Topics discussed:
    This lecture explains about Remote Procedure Calls and how they are executed.
    Follow Neso Academy on Instagram: @nesoacademy
    Contribute: www.nesoacademy...
    Memberships: bit.ly/2U7YSPI
    Books: www.nesoacademy...
    Website ► www.nesoacademy...
    Forum ► forum.nesoacade...
    Facebook ► goo.gl/Nt0PmB
    Twitter ► / nesoacademy
    Music:
    Axol x Alex Skrindo - You [NCS Release]
    #OperatingSystemByNeso #os #OperatingSystem #RemoteProcedureCalls

КОМЕНТАРІ • 80

  • @Mehraj_IITKGP
    @Mehraj_IITKGP Рік тому +61

    Here is what I learned from the video:
    RPC stands for Remote Procedure Call.
    - It is a communication protocol that allows a program running on one computer to execute code on a different computer over a network.
    - It is often used in distributed systems where different components of the system are running on other computers
    - For example, in a web application, the server might use RPC to communicate with a database server to retrieve data or to execute complex queries.
    - RPC abstracts away many of the low-level details of network communication, making it easier for developers to build distributed systems.
    - A client makes a remote procedure call to a server (RPC daemon), specifying the name (identifier) of a function to execute and any parameters that the function requires.
    - The server receives the request, executes the specified function, and sends the result back to the client.
    - The client can then continue executing its own code, using the result returned by the server.
    • STUB:
    - A stub is a piece of code that acts as a proxy (representative) for a remote procedure on the client side.
    - The stub serves as an interface between the client program and the RPC system.
    - It provides a way for the client program to make remote procedure calls to the server as if the procedure was a local function call.
    - The stub is responsible for marshaling (assembling and arranging in order) the input parameters of the procedure, making the remote procedure call over the network to the RPC server, and then unmarshalling the results returned by the server.
    • DAEMON*:
    - An RPC daemon (or RPC server) is a program that runs in the background on a server and receives incoming requests for remote procedure calls from clients.
    - The daemon is responsible for managing the communication between clients and the server, and for executing the requested procedures on the server.
    * The MIT programmers thought demon would be an appropriate name for a background process that worked tirelessly to perform system chores. But instead of using the term demon, they used daemon, which is an older form of the word.

    • @minhhoangcong9155
      @minhhoangcong9155 Рік тому +1

      Thank you

    • @safiturk313
      @safiturk313 Рік тому +5

      These notes were much more useful than listening to the lecture, dude.

    • @Viggen66
      @Viggen66 8 місяців тому +1

      Excellent summary of this class :)

    • @rar000000000
      @rar000000000 Місяць тому

      Great Summary

    • @DrJoySmithMaxwell
      @DrJoySmithMaxwell Місяць тому

      Thanks much for the summary. Far superior to the actual lecture, which was full of redundancy & irregular English.

  • @samuelkhongthaw9405
    @samuelkhongthaw9405 Рік тому +17

    RPC is a protocol that allows a program to request a service from a program in a different computer in a network. It is based on the message passing system as the processes are on separate computers. The message is composed of a function identifier and the corresponding parameters. This message is received by a RPC daemon listening on a specific port of the receiving computer. The result of the function call is passed back as a separate message to the requesting process.

  • @dannymasri2910
    @dannymasri2910 4 роки тому +11

    Good job...was not expecting this to be this well-explained!

  • @melasonos6132
    @melasonos6132 Рік тому +1

    Your videos are the best.

  • @hoangminhchau2187
    @hoangminhchau2187 Рік тому +2

    RPC is for communication between processes that reside in different systems within a network. It abstract away the network details.
    The client and server have an RPC daemon listening to each other port.
    The client request to the server via a stub residing in the client side. It requests the server to do a service, in a form of a function. The server then sends back the result to the client.
    The message is more complicated than packets of data.
    The message contain the function identifier and the parameter of that function.
    The parameters are marshaled to be transmitted over the network.
    Messages are sent from the client stub to server stub by message passing.
    RPC stands for remote procedure call. It abstracts away network details, so that make it easier for developers to work with. It is used for distributed systems. For example, a server want to request to the database server to get or modify data.
    Stub acts as an interface between the client and the RPC system, so that the client can communicate with the server as is locally.
    Stub is responsibile for parameter marshaling (assemble and arrange parameters) for client and unmarshaling for the server.
    RPC daemon or RPC server is a program running in the background on the server. It receives incomming requests for RPC from the client and execute the request.

  • @eyambevictory
    @eyambevictory Рік тому +1

    Perfect explanation

  • @spyrex3988
    @spyrex3988 4 роки тому +11

    Bro this complicated stuff is explained so well. My professor couldn't explained for shit

  • @farahmohamed2104
    @farahmohamed2104 10 місяців тому +1

    well explained appreciated

  • @dinushachathuranga7657
    @dinushachathuranga7657 11 місяців тому +1

    Thanks a lot . This is an amazing explanation♥♥

  • @youngchan9105
    @youngchan9105 3 роки тому +3

    Many thanks. This video is really helpful

  • @Van_Verder
    @Van_Verder Рік тому +1

    Incredibly helpful, Thanks so Much!🙏

  • @michellephoebe
    @michellephoebe 2 роки тому +2

    Thank you so much
    was looking for a comprehnsive explanation and this was it!

  • @FloodPower
    @FloodPower 2 роки тому +1

    incredible video, much thanks

  • @narayanadhurti1603
    @narayanadhurti1603 2 роки тому +1

    Simple and so clear great explanation.

  • @amanchaudhary8817
    @amanchaudhary8817 2 роки тому +1

    Thank you 🙏🏼

  • @markkats5419
    @markkats5419 2 роки тому +1

    thanks for the clear explanation :)

  • @shashwatisingh6381
    @shashwatisingh6381 3 роки тому +1

    Thanks alot for the video.

  • @subee128
    @subee128 7 місяців тому +1

    Thank you so much

  • @sripriyansvbsbtskanchibhat9152
    @sripriyansvbsbtskanchibhat9152 3 місяці тому

    awesomeeeeeeeeeeeeeeeeeee explanation.....thank you very much neso academy

  • @jeevapriya4853
    @jeevapriya4853 4 роки тому +7

    As im from biology background ....so i felt very difficult to understand programing nd how the computer works i side.....bt u made my path easy sir ......tq u sm ....feeling so happy 😊😊make more videos sir ....

  • @nikky30100
    @nikky30100 3 роки тому +50

    It would be more interesting to watch if you use more animation and less text. We've got books. All theory is there but we want explanation with simple animation so that we don't have to read all those big paragraphs

    • @shilashm5691
      @shilashm5691 2 роки тому

      Yes😪

    • @digiliferandhawa4190
      @digiliferandhawa4190 Рік тому

      Hi

    • @bakeery
      @bakeery Рік тому

      You are right

    • @herp100
      @herp100 Рік тому +7

      yooo, this guy basically spent a bunch of time to put this together for free and you complaining? Go and create your own visual if you are not able to understand concepts like this just by text. 😂😂😂

    • @techbot2366
      @techbot2366 8 місяців тому

      Totally agree

  • @mohamedbarrous1152
    @mohamedbarrous1152 3 роки тому +4

    Man!! your explanation is awesome. Keep it up

  • @reborn4612
    @reborn4612 2 роки тому +1

    Thanks teacher :D

  • @enricosaccheggiani3192
    @enricosaccheggiani3192 5 років тому +4

    very well explained very compliments !!!!!!!!!!I tried so many times to find something that explains me so well but i didn't find it .
    Thanks so much

  • @xellworth7715
    @xellworth7715 3 роки тому +1

    Impressive explanation, thanks a lot and greetings from argentina!

  • @zakariael9587
    @zakariael9587 2 роки тому +1

    Great video, great explanation !!!

  • @brent7781
    @brent7781 4 роки тому +1

    Very helpful. Thank you.

  • @quratraja7391
    @quratraja7391 4 роки тому +4

    So, RPC are remote procedural calls. RCS is used for processes to communicate when they're residing in different systems. Procedures are involved. Stubs are allocated to processed at each end.

  • @superman6998
    @superman6998 3 роки тому +1

    Thank you so much for great lecture.

  • @amargandhi1137
    @amargandhi1137 5 років тому +2

    Great working sir
    Please upload videos on posix multithreading

  • @UshaDevi-pc5gh
    @UshaDevi-pc5gh 5 років тому +4

    Thank you for the info...

  • @dhanushsivajaya1356
    @dhanushsivajaya1356 3 роки тому +1

    Thankyou sir

  • @oshadhaedirisinghe1455
    @oshadhaedirisinghe1455 5 місяців тому

    Thank you

  • @HuyTran-wv3tz
    @HuyTran-wv3tz 6 місяців тому +1

    I love how he keeps repeating the statements, these lectures are not one of types of video you just take a peek on, you actually learn from it and shove it deep into your brain

  • @MasterSergius
    @MasterSergius 2 роки тому

    Thank you, sir. I've been searching a lot for something like this.

  • @shivamkhandelwal7261
    @shivamkhandelwal7261 3 роки тому +1

    A good video for Intro to RPC, the intuition is strong, however, just a little repetitive (which helps to retain, though)

  • @SaileeShingare
    @SaileeShingare 2 роки тому

    You explain so well. Thank you so much

  • @startrek3779
    @startrek3779 2 роки тому

    Excellent explanation! Thank you very much!

  • @ayushiyadav1
    @ayushiyadav1 3 місяці тому

    thnx

  • @user-do1tu3oy3s
    @user-do1tu3oy3s 4 роки тому +7

    Great lecture though a pic showing rpc would have been more helpful

  • @jeevapriya4853
    @jeevapriya4853 4 роки тому +1

    Make videos on compiler design ,machine learning artificial inteñligence ,cloud computing ....nd abt more techies tutorial ....so that it will be very helpful for students like me ....i hope u teachers make best vídeos....

  • @rabiulsikder4569
    @rabiulsikder4569 4 роки тому +1

    Sir, please make video on Computer Architecture.

  • @bouazizabdelkader6994
    @bouazizabdelkader6994 3 роки тому

    شكرا جزيلا

  • @liotam8400
    @liotam8400 6 місяців тому

    Here is a summary of the video:
    Remote Procedure Calls (RPC) is a protocol that allows a program to request a service from a program located on another computer on a network without having to understand the network's details. In simpler terms, RPC enables communication between processes residing in different systems connected over a network.
    Here are the key differences between RPC and IPC:
    Communication scheme: RPC uses message-based communication, whereas IPC can use either shared memory or message passing.
    Messages: RPC messages are well-structured and contain an identifier of the function to execute and the parameters to pass to that function, while IPC messages are just packets of data.
    Stubs: RPC uses stubs on both the client and server sides to hide the details of communication from the processes. IPC does not use stubs.
    Here's how RPC works:
    Client invokes a remote procedure: The client process calls a local stub, passing it the parameters for the remote procedure.
    Stub marshals parameters: The stub marshals the parameters into a form that can be transmitted over the network.
    Stub transmits message to server: The stub transmits a message to the server using message passing.
    Server stub receives message: A similar stub on the server side receives the message and unmarshals the parameters.
    Server stub invokes procedure: The server stub invokes the remote procedure on the server, passing it the unmarshaled parameters.
    Procedure executes: The remote procedure executes on the server.
    Server stub marshals return values: If necessary, the server stub marshals the return values into a form that can be transmitted over the network.
    Server stub transmits message to client: The server stub transmits a message to the client using message passing.
    Client stub receives message: The client stub receives the message and unmarshals the return values.
    Client stub returns results: The client stub returns the results to the client process.

  • @ramahruday6219
    @ramahruday6219 3 роки тому

    Thank you..😇

  • @HimanshuGupta-eb6vp
    @HimanshuGupta-eb6vp 4 роки тому +2

    But we use Message passing system for communicating between 2 procesess on different devices connected to network?

    • @alrashidtowmir1099
      @alrashidtowmir1099 3 роки тому

      Yeah brother, RPC is itself a kind of message passing system. But the difference between the regular Message-passing and RPC is that, As RPC has to perform on two different systems, it needs to be processed in a way that the message passing can happen over the network. If both the processes resided in the same system, we can just send a message from the sender process to the kernel and then the receiver process gets that message through the kernel. But in RPC, the function related to the process resides in a different system, so certain parameter passing and processing of the parameters is necessary.

  • @user-me1ry6lg6d
    @user-me1ry6lg6d 9 місяців тому

    could you bring out the difference between HTTP ans RPC ?

  • @JusdevTMG
    @JusdevTMG 5 років тому

    Thanks

  • @avinashkr5980
    @avinashkr5980 5 років тому

    Nice

  • @shivamuttam9868
    @shivamuttam9868 5 років тому +1

    Hello sir
    I haive doubt
    What will be the output
    printf("%d","");
    Output is 173 but how
    This question was asked in my bca exam
    Plz help me sir

  • @saitejan4905
    @saitejan4905 5 років тому +1

    Yes NYC

  • @abhinayshrivastav8739
    @abhinayshrivastav8739 5 років тому +1

    Sir please upload the issues/limitations of RPC asap.

  • @mireflections2306
    @mireflections2306 5 років тому +2

    Your description should start with a link or put one of those clickable links in the video to the referenced video in the beginning. A tip for a tip :-). Another tip is to not pin your own comment to the top of the comments section. That section is for comments of your viewers.
    Wow you have a lot of videos! Thank you for all of them! I would give you $5/month if I had that kind of time and money to just give away and watch all your videos. But still, Thank YOU for putting them up. I don't understand what "Join" is or how it works. But if it was a one-time donation, tip, gift, or something like that I would definitely give you more than just $5.

    • @UshaDevi-pc5gh
      @UshaDevi-pc5gh 5 років тому

      Every youtuber pins his or her cmnt giving info about this video or other more detail about it. I don't think u have any idea how to run a youtube channel..useless

    • @UshaDevi-pc5gh
      @UshaDevi-pc5gh 5 років тому +1

      If you don't have this much time..how did you get this much time to write review and advices...llllooollllzzzz...double standard people

  • @jiwan88
    @jiwan88 5 років тому

    popular question !!!

  • @priyamvadasingh308
    @priyamvadasingh308 4 роки тому

    What is time to do null RPC?

  • @Udaykumar-ed6qj
    @Udaykumar-ed6qj 5 років тому

    Sir why your not uploading network theory

    • @pennyclearwaters5824
      @pennyclearwaters5824 5 років тому

      Give him a chance to make the video. Don't demand free content. Ask for it.

  • @kalpagarwal8291
    @kalpagarwal8291 5 років тому

    need file systems

  • @rabiulsikder4569
    @rabiulsikder4569 4 роки тому

    Is the operating System course that easy? I am not a computer science student. Please someone answer.

  • @sharps8726
    @sharps8726 4 роки тому

    :)

  • @charuagarwal2944
    @charuagarwal2944 7 місяців тому

    You have just copied the book as it is.

  • @peasant12345
    @peasant12345 Рік тому

    too wordy

  • @gdhbgsgsuhfg9048
    @gdhbgsgsuhfg9048 4 роки тому

    Omg

  • @weihyac
    @weihyac Рік тому

    thank you