logo

Što je RPC u operativnom sustavu?

Remote Procedure Call ili RPC moćna je tehnika za izradu distribuiranih aplikacija temeljenih na klijentu i poslužitelju. Također je poznat kao poziv funkcije ili poziv potprograma. Poziv udaljene procedure je kada računalni program uzrokuje izvršavanje procedure u drugom adresnom prostoru, kodiran kao lokalni poziv procedure, bez da programer eksplicitno navodi detalje za daljinsku interakciju. Programer u osnovi piše isti kod bez obzira je li podrutina lokalna u odnosu na program koji se izvršava ili udaljena. Ovo je oblik interakcije klijent-poslužitelj implementiran putem sustava za prosljeđivanje poruka zahtjev-odgovor.

Što je RPC u operativnom sustavu

RPC model podrazumijeva transparentnost lokacije da su procedure pozivanja uglavnom iste, bilo lokalne ili udaljene. Obično nisu identični, tako da se lokalni pozivi mogu razlikovati od udaljenih. Daljinski pozivi obično su nekoliko reda veličine sporiji i manje pouzdani od lokalnih poziva, stoga je važno razlikovati ih.

RPC-ovi su oblik međuprocesne komunikacije (IPC), u kojem različiti procesi imaju različite adresne prostore. Imaju različite virtualne adresne prostore na istom glavnom računalu, iako je fizički adresni prostor isti. Ako su na različitim hostovima, fizički adresni prostor je drugačiji.

Kako uputiti poziv za daljinski postupak

Pozivna okolina je obustavljena, parametri procedure se prenose preko mreže u okolinu u kojoj se procedura treba izvršiti, i procedura se tamo izvršava.

Što je RPC u operativnom sustavu

Kada procedura završi i proizvede svoje rezultate, prebacuje se natrag u okolinu koja poziva, gdje se izvođenje nastavlja kao da se vraća s redovnog poziva procedure.

NAPOMENA: RPC je posebno prikladan za interakciju klijent-poslužitelj (npr. upit-odgovor) u kojoj se tijek kontrole izmjenjuje između pozivatelja i pozivatelja. Konceptualno, klijent i poslužitelj ne izvršavaju se istovremeno; umjesto toga, nit izvršenja skače s pozivatelja na pozivatelja i zatim natrag.

Vrste RPC-a

Postoje tri vrste poziva udaljene procedure (RPC) u operativnom sustavu, kao što su:

Što je RPC u operativnom sustavu

1. Povratni RPC

Ova vrsta RPC-a omogućuje P2P paradigmu između procesa koji sudjeluju. Pomaže procesu da bude i usluga klijenta i poslužitelja. Povratni RPC ima sljedeće funkcije, kao što su:

java lista prazna
  • Daljinski obrađeni problemi interaktivne aplikacije.
  • Nudi poslužitelj s rukovanjem klijentima.
  • Povratni poziv čini klijentski proces čekanjem.
  • Upravljanje zastojima povratnog poziva.
  • Olakšava peer-to-peer paradigmu među procesima koji sudjeluju.

2. Emitiranje RPC-a

Broadcast RPC je zahtjev klijenta emitiran na mreži, a obrađuju ga svi poslužitelji metodom za obradu tog zahtjeva. Broadcast RPC ima sljedeće funkcije, kao što su:

  • Omogućuje vam da odredite da se klijentova poruka zahtjeva mora emitirati.
  • Možete deklarirati portove emitiranja.
  • Pomaže smanjiti opterećenje fizičke mreže.

3. RPC u skupnom načinu rada

Batch-mode RPC pomaže staviti u red čekanja, odvojiti RPC zahtjeve, u prijenosnom međuspremniku, na strani klijenta, a zatim ih poslati na mrežu u jednoj skupini na poslužitelj. Batch-mode RPC ima sljedeće funkcije, kao što su:

poštar
  • Minimizira opterećenje uključeno u slanje zahtjeva slanjem preko mreže u jednoj seriji na poslužitelj.
  • Ova vrsta RPC protokola učinkovita je samo za aplikacije koje trebaju niže stope poziva.
  • Potreban je pouzdan protokol prijenosa.

Što radi RPC?

Kada se programske izjave koje koriste RPC okvir prevedu u izvršni program, zaglavak je uključen u prevedeni kod koji predstavlja kod udaljene procedure.

Kada se program pokrene i izda se poziv procedure, stub prima zahtjev i prosljeđuje ga klijentskom programu za izvršavanje na lokalnom računalu. Prvi put kada se klijentski stub pozove, on kontaktira poslužitelj imena kako bi odredio transportnu adresu na kojoj se nalazi poslužitelj.

Klijentski runtime program zna kako se obratiti udaljenom računalu i poslužiteljskoj aplikaciji i šalje poruku preko mreže koja zahtijeva udaljenu proceduru. Slično, poslužitelj uključuje runtime program i stub koji sučelje sa samom udaljenom procedurom, a protokoli odgovora i zahtjeva vraćaju se na isti način.

Značajke RPC-a

U operativnom sustavu poziv udaljene procedure (RPC) ima sljedeće značajke, kao što su:

  • RPC skriva složenost procesa prosljeđivanja poruka od korisnika.
  • RPC koristi samo određene slojeve OSI modela poput transportnog sloja.
  • Klijenti mogu komunicirati s poslužiteljem korištenjem jezika više razine.
  • RPC dobro funkcionira i s lokalnim okruženjima i s udaljenim okruženjima.
  • Program RPC-a napisan je u jednostavnom kodu i programer ga lako razumije.
  • Operativni sustav može lako upravljati procesima i nitima uključenim u RPC.
  • Operativni sustav skriva apstrakcije RPC-a od korisnika.

Kako radi RPC?

Kada se pozove udaljeni poziv procedure, pozivna okolina se obustavlja, parametri procedure se prenose preko mreže u okolinu u kojoj se procedura treba izvršiti, a procedura se zatim izvršava u toj okolini.

Kada procedura završi, rezultati se prenose natrag u pozivnu okolinu, gdje se izvođenje nastavlja kao da se vraća iz redovnog poziva procedure.

Što je RPC u operativnom sustavu

Poziv udaljene procedure (RPC) radi u sljedećim koracima u operativnom sustavu:

Korak 1: Klijent, klijentski stub i RPC vrijeme izvršavaju se na klijentskom stroju.

Korak 2: Klijent pokreće klijentski stub proces prosljeđivanjem parametara na uobičajeni način. Poziva se pakiranje parametara procedure ranžiranje . Klijentski stub pohranjuje unutar klijentovog vlastitog adresnog prostora, a također traži od lokalnog RPC Runtimea da pošalje natrag na poslužiteljski stub.

preimenovanje mape u linuxu

Korak 3: U ovoj fazi, korisnik može pristupiti RPC-u upućivanjem redovnog lokalnog proceduralnog poziva. RPC Runtime upravlja prijenosom poruka između mreže preko klijenta i poslužitelja, a također obavlja posao ponovnog slanja, potvrde, usmjeravanja i enkripcije.

Korak 4: Nakon dovršetka poslužiteljske procedure, vraća se u poslužiteljski stub, koji pakira (maršira) povratne vrijednosti u poruku. Poslužiteljski stub zatim šalje poruku natrag transportnom sloju.

Korak 5: U ovom koraku transportni sloj šalje poruku rezultata klijentskom transportnom sloju, koji vraća poruku klijentskom stubu.

Korak 6: U ovoj fazi klijentski stub demaršira (otpakira) povratne parametre u rezultirajućem paketu, a proces izvršenja vraća se pozivatelju.

Problemi s pozivom udaljene procedure (RPC)

U operativnom sustavu, Remote procedure call ili RPC suočavao se s nekim problemima koji se moraju riješiti, kao što su:

Što je RPC u operativnom sustavu

1. RPC Runtime

RPC runtime sustav je biblioteka rutina i usluga koje upravljaju mrežnim komunikacijama koje su u osnovi RPC mehanizma. U tijeku RPC poziva, izvršni sustavi na strani klijenta i poslužitelja obrađuju vezanje, uspostavljaju komunikaciju preko odgovarajućeg protokola, prenose podatke poziva između klijenta i poslužitelja i obrađuju komunikacijske pogreške.

2. Stub

Funkcija stuba je osigurati transparentnost aplikacijskom kodu koji je napisao programer.

    Na strani klijenta:Stub upravlja sučeljem između klijentovog lokalnog poziva procedure i runtime sustava, marshalingom i unmarshalingom podataka, pozivanjem RPC runtime protokola i, ako je zatraženo, izvođenjem nekih koraka vezanja.Na strani poslužitelja:Stub pruža slično sučelje između runtime sustava i procedura lokalnog upravitelja koje izvršava poslužitelj.

3. Uvezivanje

Kako klijent zna koga treba nazvati i gdje se usluga nalazi?

Najfleksibilnije rješenje je korištenje dinamičkog povezivanja i pronalaženje poslužitelja u vrijeme izvođenja kada je RPC prvi put napravljen. Prvi put kada se klijentski stub pozove, on kontaktira poslužitelj imena kako bi odredio transportnu adresu na kojoj se nalazi poslužitelj. Uvez se sastoji iz dva dijela:

    Mi:Poslužitelj koji ima uslugu za ponuditi izvozi sučelje za nju. Izvoz sučelja registrira ga u sustavu tako da ga klijenti mogu koristiti.Lociranje:Klijent mora uvesti (izvezeno) sučelje prije nego što komunikacija može započeti.

4. Semantika poziva povezana s RPC-om

vba

Uglavnom se klasificira u sljedeće izbore,

    Poruka sa zahtjevom za ponovni pokušaj:Treba li ponovno pokušati poslati poruku zahtjeva kada poslužitelj nije uspio ili primatelj nije primio poruku.Duplicirano filtriranje:Uklonite dvostruke zahtjeve poslužitelja.Repriza rezultata:Za ponovno slanje izgubljenih poruka bez ponovnog izvršavanja operacija na strani poslužitelja.

Karakteristike RPC-a

Ovdje su bitne karakteristike daljinskog poziva procedure:

  • Pozvana procedura je u drugom procesu, koji se vjerojatno nalazi na drugom stroju.
  • Procesi ne dijele adresni prostor.
  • Parametri se prosljeđuju samo vrijednostima.
  • RPC se izvršava unutar okruženja poslužiteljskog procesa.
  • Ne nudi pristup okruženju procedure pozivanja.

Prednosti RPC-a

Evo nekih prednosti ili koristi RPC-a, kao što su:

  • RPC metoda pomaže klijentima da komuniciraju s poslužiteljima konvencionalnom upotrebom poziva procedura na jezicima visoke razine.
  • Metoda RPC modelirana je prema lokalnom pozivu procedure, ali će se procedura najvjerojatnije izvršiti u drugom procesu i obično na drugom računalu.
  • RPC podržava modele orijentirane na procese i niti.
  • RPC čini unutarnji mehanizam za prijenos poruka skrivenim od korisnika.
  • Napor potreban za ponovno pisanje i ponovni razvoj koda je minimalan.
  • Pozivi udaljenih procedura mogu se koristiti za distribuciju i lokalno okruženje.
  • Obvezuje mnoge slojeve protokola radi poboljšanja performansi.
  • RPC pruža apstrakciju. Na primjer, priroda prijenosa poruka mrežne komunikacije ostaje skrivena od korisnika.
  • RPC omogućuje korištenje aplikacija u distribuiranom okruženju koje nije samo u lokalnom okruženju.
  • S RPC kodom, napori ponovnog pisanja i ponovnog razvoja svedeni su na minimum.
  • Modeli orijentirani na proces i orijentirani na niti koje podržava RPC.

Nedostaci RPC-a

Evo nekih nedostataka ili mana korištenja RPC-a, kao što su:

  • Poziv udaljene procedure prosljeđuje parametre samo prema vrijednostima i vrijednostima pokazivača, što nije dopušteno.
  • Vrijeme poziva (i povratka) udaljene procedure (tj. režijski troškovi) može biti znatno niže od lokalne procedure.
  • Ovaj mehanizam vrlo je osjetljiv na kvar jer uključuje komunikacijski sustav, drugi stroj i drugi proces.
  • RPC koncept može se implementirati na različite načine, što nije standardno.
  • Ne nudi nikakvu fleksibilnost u RPC-u za hardversku arhitekturu jer se uglavnom temelji na interakciji.
  • Trošak procesa je povećan zbog udaljenog poziva procedure.