logo

Kas yra RPC operacinėje sistemoje?

Remote Procedure Call arba RPC yra galingas būdas kurti paskirstytas, kliento serverio programas. Jis taip pat žinomas kaip funkcijos skambutis arba paprogramės iškvietimas. Nuotolinis procedūros iškvietimas yra tada, kai kompiuterinė programa verčia procedūrą vykdyti kitoje adresų erdvėje, užkoduota kaip vietinis procedūros iškvietimas, programuotojui aiškiai nenurodant nuotolinės sąveikos detalių. Programuotojas rašo iš esmės tą patį kodą, nesvarbu, ar paprogramė yra lokali vykdomajai programai, ar nuotolinė. Tai kliento ir serverio sąveikos forma, įgyvendinama per užklausos ir atsakymo pranešimų perdavimo sistemą.

Kas yra RPC operacinėje sistemoje

RPC modelis reiškia vietos skaidrumas kad skambinimo procedūros iš esmės yra vienodos, nesvarbu, ar tai būtų vietinė, ar nuotolinė. Paprastai jie nėra identiški, todėl vietinius skambučius galima atskirti nuo nuotolinių skambučių. Nuotoliniai skambučiai paprastai yra daug lėtesni ir mažiau patikimi nei vietiniai skambučiai, todėl svarbu juos atskirti.

RPC yra tarpprocesinio ryšio (IPC) forma, nes skirtingi procesai turi skirtingas adresų sritis. Jie turi skirtingas virtualias adresų erdves tame pačiame pagrindiniame kompiuteryje, nors fizinė adresų erdvė yra ta pati. Jei jie yra skirtinguose pagrindiniuose kompiuteriuose, fizinė adresų erdvė skiriasi.

Kaip skambinti nuotoliniu būdu

Skambinimo aplinka sustabdoma, procedūrų parametrai per tinklą perkeliami į aplinką, kurioje turi būti vykdoma procedūra, ir ten atliekama procedūra.

Kas yra RPC operacinėje sistemoje

Kai procedūra baigiasi ir pateikia jos rezultatus, ji perkeliama atgal į iškvietimo aplinką, kur vykdymas atnaujinamas tarsi grįžus iš įprasto procedūros iškvietimo.

PASTABA: RPC ypač gerai tinka kliento ir serverio (pvz., užklausos ir atsakymo) sąveikai, kai valdymo srautas keičiasi tarp skambinančiojo ir skambinamojo. Konceptualiai, klientas ir serveris nevykdo vienu metu; vietoj to, vykdymo gija peršoka nuo skambinančiojo prie pašauktojo ir vėl atgal.

RPC tipai

Operacinėje sistemoje yra trys nuotolinių procedūrų skambučių (RPC) tipai, pavyzdžiui:

Kas yra RPC operacinėje sistemoje

1. Atgalinio skambinimo RPC

Šio tipo RPC įgalina P2P paradigmą tarp dalyvaujančių procesų. Tai padeda procesui būti tiek kliento, tiek serverio paslaugomis. Atgalinio skambinimo RPC turi šias funkcijas, tokias kaip:

kas daro kompiuterį greitą
  • Nuotoliniu būdu apdorotos interaktyvios programos problemos.
  • Siūlo serverį su klientų rankena.
  • Atgalinis skambutis priverčia kliento procesą laukti.
  • Tvarkykite atgalinio skambučio aklavietes.
  • Tai palengvina „peer-to-peer“ paradigmą tarp dalyvaujančių procesų.

2. Transliacijos RPC

Transliacijos RPC yra tinkle transliuojama kliento užklausa, kurią apdoroja visi serveriai su tos užklausos apdorojimo metodu. Transliacijos RPC turi šias funkcijas, tokias kaip:

  • Leidžia nurodyti, kad kliento užklausos pranešimas turi būti transliuojamas.
  • Galite deklaruoti transliavimo prievadus.
  • Tai padeda sumažinti fizinio tinklo apkrovą.

3. Paketinio režimo RPC

Paketinio režimo RPC padeda sudaryti eilę, atskirti RPC užklausas perdavimo buferyje kliento pusėje ir išsiųsti jas tinkle vienu paketu į serverį. Paketinio režimo RPC turi šias funkcijas, tokias kaip:

  • Tai sumažina pridėtines išlaidas, susijusias su užklausos siuntimu, siunčiant jas per tinklą vienu paketu į serverį.
  • Šio tipo RPC protokolas yra veiksmingas tik taikant programą, kuriai reikia mažesnių skambučių tarifų.
  • Tam reikia patikimo perdavimo protokolo.

Ką daro RPC?

Kai programos teiginiai, naudojantys RPC sistemą, yra sukompiliuojami į vykdomąją programą, į sukompiliuotą kodą, vaizduojantį nuotolinės procedūros kodą, įtraukiamas šaknis.

vietos datos laikas java

Kai programa paleidžiama ir iškviečiamas procedūros iškvietimas, iškvietimas gauna užklausą ir persiunčia ją į kliento vykdymo programą vietiniame kompiuteryje. Pirmą kartą iškvietus kliento stubuką, jis susisiekia su vardų serveriu, kad nustatytų transportavimo adresą, kuriame yra serveris.

Kliento vykdymo programa žino, kaip susisiekti su nuotoliniu kompiuteriu ir serverio programa, ir siunčia per tinklą pranešimą, kuriame prašoma nuotolinės procedūros. Panašiai serveryje yra vykdymo programa ir stuburo sąsaja su pačia nuotoline procedūra, o atsakymo užklausos protokolai grąžinami tokiu pačiu būdu.

RPC ypatybės

Operacinėje sistemoje nuotolinis procedūrų skambutis (RPC) turi šias funkcijas, pavyzdžiui:

  • RPC slepia nuo vartotojo pranešimo perdavimo proceso sudėtingumą.
  • RPC naudoja tik tam tikrus OSI modelio sluoksnius, tokius kaip transportavimo sluoksnis.
  • Klientai gali bendrauti su serveriu naudodami aukštesnio lygio kalbas.
  • RPC gerai veikia tiek vietinėje, tiek nuotolinėje aplinkoje.
  • RPC programa parašyta paprastu kodu ir lengvai suprantama programuotojui.
  • Operacinė sistema gali lengvai valdyti procesus ir gijas, susijusias su RPC.
  • Operacinė sistema slepia RPC abstrakcijas nuo vartotojo.

Kaip veikia RPC?

Kai iškviečiamas nuotolinis procedūros iškvietimas, skambinimo aplinka sustabdoma, procedūros parametrai tinkle perkeliami į aplinką, kurioje turi būti vykdoma procedūra, ir tada procedūra vykdoma toje aplinkoje.

Pasibaigus procedūrai, rezultatai grąžinami atgal į iškvietimo aplinką, kur vykdymas tęsiamas taip, lyg grįžtų iš įprasto procedūrų iškvietimo.

Kas yra RPC operacinėje sistemoje

Nuotolinis procedūrų iškvietimas (RPC) operacinėje sistemoje veikia šiais veiksmais:

1 žingsnis: Klientas, kliento šaknis ir RPC vykdymo laikas vykdomi kliento kompiuteryje.

2 žingsnis: Klientas pradeda kliento stuburo procesą, perduodamas parametrus įprastu būdu. Vadinamas procedūros parametrų pakavimas rūšiavimas . Kliento stuburo dalis saugoma kliento adresų erdvėje ir taip pat prašo vietinio RPC vykdymo laiko siųsti atgal į serverio išvestį.

3 veiksmas: Šiame etape vartotojas gali pasiekti RPC atlikdamas įprastą vietinį procedūrinį skambutį. RPC Runtime valdo pranešimų perdavimą tarp tinklo tarp kliento ir serverio, taip pat atlieka pakartotinio perdavimo, patvirtinimo, maršruto parinkimo ir šifravimo darbus.

įterpimo python

4 veiksmas: Baigęs serverio procedūrą, jis grįžta į serverio stubą, kuris supakuoja (sutvarko) grįžtamas reikšmes į pranešimą. Tada serverio šaknis siunčia pranešimą atgal į transportavimo sluoksnį.

5 veiksmas: Šiame veiksme transportavimo sluoksnis siunčia rezultato pranešimą atgal į kliento transportavimo sluoksnį, kuris grąžina pranešimą kliento stuburui.

6 veiksmas: Šiame etape klientas išpakuoja (išpakuoja) grąžinimo parametrus gautame pakete, o vykdymo procesas grįžta į skambinantįjį.

Nuotolinio procedūrų iškvietimo (RPC) problemos

Operacinėje sistemoje nuotolinio procedūrų iškvietimas arba RPC susidūrė su kai kuriomis problemomis, kurias reikia išspręsti, pavyzdžiui:

Kas yra RPC operacinėje sistemoje

1. RPC vykdymo laikas

RPC vykdymo sistema yra rutinų ir paslaugų biblioteka, kuri tvarko tinklo ryšius, kuriais grindžiamas RPC mechanizmas. RPC skambučio metu kliento ir serverio vykdymo laiko sistemų kodas tvarko susiejimą, užmezga ryšį per atitinkamą protokolą, perduoda skambučio duomenis tarp kliento ir serverio ir tvarko ryšio klaidas.

2. Stub

Stuburo funkcija yra užtikrinti programuotojo parašytos programos kodo skaidrumą.

    Kliento pusėje:Stublė tvarko sąsają tarp kliento vietinės procedūros iškvietimo ir vykdymo sistemos, suskirsto ir atšaukia duomenis, iškviečia RPC vykdymo protokolą ir, jei prašoma, atlieka kai kuriuos susiejimo veiksmus.Serverio pusėje:Stublas suteikia panašią sąsają tarp vykdymo sistemos ir serverio vykdomų vietinio tvarkyklės procedūrų.

3. Įrišimas

Šarvanandas

Kaip klientas žino, kam skambinti ir kur yra paslauga?

Lanksčiausias sprendimas yra naudoti dinaminį susiejimą ir rasti serverį vykdymo metu, kai pirmą kartą sukuriamas RPC. Pirmą kartą iškvietus kliento stubuką, jis susisiekia su vardų serveriu, kad nustatytų perdavimo adresą, kuriame yra serveris. Įrišimas susideda iš dviejų dalių:

    Mes:Serveris, turintis paslaugą, eksportuoja jai skirtą sąsają. Eksportuojant sąsają ji registruojama sistemoje, kad klientai galėtų ja naudotis.Vieta:Prieš pradėdamas ryšį, klientas turi importuoti (eksportuotą) sąsają.

4. Su RPC susijusi skambinimo semantika

Jis daugiausia skirstomas į šiuos pasirinkimus:

    Bandyti dar kartą užklausos pranešimas:Ar bandyti dar kartą išsiųsti užklausos pranešimą, kai serveris sugenda, ar gavėjas negavo pranešimo.Pasikartojantis filtravimas:Pašalinkite pasikartojančias serverio užklausas.Rezultatų perdavimas:Norėdami pakartotinai išsiųsti prarastus pranešimus, pakartotinai nevykdant operacijų serverio pusėje.

RPC charakteristikos

Štai pagrindinės nuotolinio procedūrų skambučio charakteristikos:

  • Iškviesta procedūra yra kitame procese, kuris greičiausiai bus kitame įrenginyje.
  • Procesai nesidalija adresų erdve.
  • Parametrai perduodami tik pagal vertes.
  • RPC vykdomas serverio proceso aplinkoje.
  • Tai nesuteikia prieigos prie skambinimo procedūros aplinkos.

RPC privalumai

Štai keletas RPC pranašumų ar pranašumų, pavyzdžiui:

  • RPC metodas padeda klientams bendrauti su serveriais įprastu procedūrų iškvietimu aukšto lygio kalbomis.
  • RPC metodas yra modeliuojamas pagal vietinį procedūrų iškvietimą, tačiau greičiausiai procedūra bus vykdoma kitame procese ir dažniausiai kitame kompiuteryje.
  • RPC palaiko procesus ir gijas orientuotus modelius.
  • RPC paslepia vidinį pranešimų perdavimo mechanizmą nuo vartotojo.
  • Pastangos perrašyti ir iš naujo sukurti kodą yra minimalios.
  • Nuotoliniai procedūrų skambučiai gali būti naudojami paskirstymui ir vietinei aplinkai.
  • Jis įpareigoja daugelį protokolo sluoksnių pagerinti našumą.
  • RPC suteikia abstrakciją. Pavyzdžiui, tinklo komunikacijos pranešimų perdavimo pobūdis lieka paslėptas nuo vartotojo.
  • RPC leidžia naudoti programas paskirstytoje aplinkoje, kuri yra ne tik vietinėje aplinkoje.
  • Naudojant RPC kodą, perrašymo ir naujo kūrimo pastangos sumažinamos iki minimumo.
  • Į procesą ir giją orientuoti modeliai, kuriuos palaiko RPC.

RPC trūkumai

Štai keli RPC naudojimo trūkumai arba trūkumai, pavyzdžiui:

  • Nuotolinis procedūrų iškvietimas perduoda parametrus tik pagal vertes ir rodyklės reikšmes, o tai neleidžiama.
  • Nuotolinio procedūrų iškvietimo (ir grįžimo) laikas (t. y. pridėtinės išlaidos) gali būti žymiai trumpesnis nei vietinės procedūros.
  • Šis mechanizmas yra labai pažeidžiamas dėl gedimų, nes jis apima ryšių sistemą, kitą mašiną ir kitą procesą.
  • RPC koncepcija gali būti įgyvendinta įvairiais būdais, o tai negali būti standartinė.
  • Nesiūlykite jokio lankstumo RPC aparatinės įrangos architektūrai, nes jis daugiausia pagrįstas sąveika.
  • Proceso kaina padidėja dėl nuotolinio procedūros iškvietimo.