logo

Mikä on RPC käyttöjärjestelmässä?

Remote Procedure Call tai RPC on tehokas tekniikka hajautettujen, asiakaspalvelinpohjaisten sovellusten rakentamiseen. Se tunnetaan myös funktiokutsuna tai alirutiinikutsuna. Etäproseduurikutsu on, kun tietokoneohjelma saa proseduurin suorittamaan eri osoiteavaruudessa, joka on koodattu paikalliseksi proseduurikutsuksi, ilman että ohjelmoija erikseen ilmoittaa etävuorovaikutuksen yksityiskohtia. Ohjelmoija kirjoittaa olennaisesti saman koodin riippumatta siitä, onko alirutiini suoritettavan ohjelman paikallinen vai etäinen. Tämä on asiakas-palvelin-vuorovaikutuksen muoto, joka toteutetaan pyyntö-vastausviestinvälitysjärjestelmän kautta.

Mikä on RPC käyttöjärjestelmässä

RPC-malli tarkoittaa sijainnin läpinäkyvyys että soittomenettelyt ovat suurelta osin samat, olivatpa ne paikallisia tai etäpuheluita. Yleensä ne eivät ole identtisiä, jotta paikallispuhelut voidaan erottaa etäpuheluista. Etäpuhelut ovat yleensä suuruusluokkaa hitaampia ja vähemmän luotettavia kuin paikallispuhelut, joten niiden erottaminen on tärkeää.

RPC:t ovat prosessien välisen viestinnän (IPC) muoto, jossa eri prosesseilla on eri osoiteavaruudet. Niillä on erilliset virtuaaliset osoiteavaruudet samassa isäntäkoneessa, vaikka fyysinen osoiteavaruus on sama. Jos ne ovat eri isännissä, fyysinen osoiteavaruus on erilainen.

Kuinka soittaa etämenettelyyn

Kutsuva ympäristö keskeytetään, proseduuriparametrit siirretään verkon yli ympäristöön, jossa proseduuri suoritetaan, ja proseduuri suoritetaan siellä.

Mikä on RPC käyttöjärjestelmässä

Kun proseduuri on valmis ja tuottaa tulokset, se siirretään takaisin kutsuvaan ympäristöön, jossa suoritus jatkuu ikään kuin palaisi normaalista proseduurikutsusta.

HUOMAA: RPC soveltuu erityisen hyvin asiakas-palvelin (esim. kysely-vastaus) -vuorovaikutukseen, jossa ohjauksen kulku vuorottelee soittajan ja kutsuttavan välillä. Käsitteellisesti asiakas ja palvelin eivät suorita samanaikaisesti; sen sijaan suorituksen lanka hyppää soittajalta kutsuttavalle ja sitten takaisin.

RPC-tyypit

Käyttöjärjestelmässä on kolmenlaisia ​​etäproseduurikutsuja (RPC), kuten:

Mikä on RPC käyttöjärjestelmässä

1. Takaisinsoitto RPC

Tämän tyyppinen RPC mahdollistaa P2P-paradigman osallistuvien prosessien välillä. Se auttaa prosessia olemaan sekä asiakas- että palvelinpalveluita. Takaisinsoitto-RPC:llä on seuraavat toiminnot, kuten:

mysql käyttäjäluettelo
  • Etäkäsitellyt interaktiivisten sovellusten ongelmat.
  • Tarjoaa palvelimen asiakaskahvalla.
  • Takaisinsoitto saa asiakasprosessin odottamaan.
  • Hallitse takaisinsoittojen umpikujaa.
  • Se helpottaa peer-to-peer-paradigmaa osallistuvien prosessien välillä.

2. Lähetä RPC

Broadcast RPC on asiakkaan verkossa lähetetty pyyntö, jonka kaikki palvelimet käsittelevät pyynnön käsittelymenetelmällä. Broadcast RPC:llä on seuraavat toiminnot, kuten:

  • Voit määrittää, että asiakkaan pyyntöviesti on lähetettävä.
  • Voit ilmoittaa lähetysportit.
  • Se auttaa vähentämään fyysisen verkon kuormitusta.

3. Erätoiminen RPC

img css align

Erätoiminen RPC auttaa asettamaan jonoon, erottamaan RPC-pyynnöt lähetyspuskurissa asiakaspuolella ja lähettämään ne sitten verkossa yhtenä eränä palvelimelle. Eräkäyttöisessä RPC:ssä on seuraavat toiminnot, kuten:

  • Se minimoi pyynnön lähettämiseen liittyvät kustannukset lähettämällä ne verkon yli yhtenä eränä palvelimelle.
  • Tämän tyyppinen RPC-protokolla on tehokas vain sovelluksissa, jotka tarvitsevat alhaisempia puhelunopeuksia.
  • Se tarvitsee luotettavan lähetysprotokollan.

Mitä RPC tekee?

Kun RPC-kehystä käyttävät ohjelmakäskyt käännetään suoritettavaksi ohjelmaksi, käännettyyn koodiin sisältyy tynkä, joka edustaa etäproseduurikoodia.

Kun ohjelma ajetaan ja proseduurikutsu annetaan, tynkä vastaanottaa pyynnön ja välittää sen edelleen paikallisen tietokoneen ajonaikaiseen asiakasohjelmaan. Ensimmäistä kertaa asiakkaan tynkä kutsua, se ottaa yhteyttä nimipalvelimeen määrittääkseen siirtoosoitteen, jossa palvelin sijaitsee.

Asiakkaan ajonaikainen ohjelma osaa käsitellä etätietokonetta ja palvelinsovellusta ja lähettää verkon yli viestin, joka pyytää etätoimintoa. Vastaavasti palvelin sisältää ajonaikaisen ohjelman ja tynkän, jotka ovat yhteydessä itse etäproseduuriin, ja Response-Request-protokollat ​​palautetaan samalla tavalla.

RPC:n ominaisuudet

Käyttöjärjestelmässä etäproseduurikutsulla (RPC) on seuraavat ominaisuudet, kuten:

  • RPC piilottaa viestien välitysprosessin monimutkaisuuden käyttäjältä.
  • RPC käyttää vain tiettyjä OSI-mallin kerroksia, kuten kuljetuskerrosta.
  • Asiakkaat voivat kommunikoida palvelimen kanssa käyttämällä korkeamman tason kieliä.
  • RPC toimii hyvin sekä paikallisissa ympäristöissä että etäympäristöissä.
  • RPC-ohjelma on kirjoitettu yksinkertaisella koodilla ja ohjelmoija ymmärtää sen helposti.
  • Käyttöjärjestelmä pystyy käsittelemään RPC:hen liittyviä prosesseja ja säikeitä helposti.
  • Käyttöjärjestelmä piilottaa RPC:n abstraktit käyttäjältä.

Miten RPC toimii?

Kun etäproseduurikutsu kutsutaan, kutsuva ympäristö keskeytetään, proseduuriparametrit siirretään verkon yli ympäristöön, jossa proseduuri suoritetaan, ja proseduuri suoritetaan sitten kyseisessä ympäristössä.

Proseduurin päätyttyä tulokset siirretään takaisin kutsuvaan ympäristöön, jossa suoritus jatkuu ikään kuin palaisi normaalista proseduurikutsusta.

Mikä on RPC käyttöjärjestelmässä

Etämenettelykutsu (RPC) toimii seuraavissa vaiheissa käyttöjärjestelmässä:

Vaihe 1: Asiakas, asiakkaan tynkä ja RPC-ajoaika suoritetaan asiakaskoneessa.

muuten jos bash

Vaihe 2: Asiakas aloittaa asiakkaan tynkäprosessin välittämällä parametrit tavalliseen tapaan. Proseduuriparametrien pakkausta kutsutaan järjestys . Asiakkaan tynkä tallentaa asiakkaan omaan osoiteavaruuteen ja pyytää myös paikallista RPC Runtimea lähettämään takaisin palvelimen tynkä.

Vaihe 3: Tässä vaiheessa käyttäjä voi käyttää RPC:tä soittamalla tavallisen paikallisen menettelypuhelun. RPC Runtime hallitsee viestien siirtoa verkon välillä asiakkaan ja palvelimen välillä, ja se suorittaa myös uudelleenlähetyksen, kuittauksen, reitityksen ja salauksen.

Vaihe 4: Palvelinproseduurin suorittamisen jälkeen se palaa palvelimen tyngään, joka pakkaa (marshalls) palautusarvot viestiksi. Palvelimen tynkä lähettää sitten viestin takaisin siirtokerrokseen.

Vaihe 5: Tässä vaiheessa kuljetuskerros lähettää tulossanoman takaisin asiakkaan siirtokerrokselle, joka palauttaa viestin takaisin asiakkaan tynkälle.

Vaihe 6: Tässä vaiheessa asiakkaan tynkä demarshall (purkaa) palautusparametrit tuloksena olevassa paketissa, ja suoritusprosessi palaa kutsujalle.

Remote Procedure Call (RPC) -ongelmat

Käyttöjärjestelmässä etäproseduurikutsu tai RPC kohtasi joitain ongelmia, jotka on käsiteltävä, kuten:

Mikä on RPC käyttöjärjestelmässä

1. RPC-ajoaika

RPC-ajonaikainen järjestelmä on kirjasto rutiineista ja palveluista, jotka käsittelevät RPC-mekanismin taustalla olevaa verkkoviestintää. RPC-puhelun aikana asiakas- ja palvelinpuolen ajonaikaiset järjestelmät käsittelevät sidontaa, muodostavat viestinnän sopivan protokollan kautta, välittävät puhelutiedot asiakkaan ja palvelimen välillä ja käsittelevät viestintävirheitä.

stlc

2. Tynkä

Stubin tehtävänä on tarjota läpinäkyvyyttä ohjelmoijan kirjoittamalle sovelluskoodille.

    Asiakaspuolella:Tynkä käsittelee asiakkaan paikallisen proseduurikutsun ja ajonaikaisen järjestelmän välistä rajapintaa, ryhmittelee ja purkaa tiedot, vetoaa RPC-ajonaikaiseen protokollaan ja suorittaa pyydettäessä joitain sidosvaiheita.Palvelinpuolella:Tynkä tarjoaa samanlaisen rajapinnan ajonaikaisen järjestelmän ja palvelimen suorittamien paikallisten hallintatoimintojen välillä.

3. Sidonta

Mistä asiakas tietää, kenelle soittaa ja missä palvelu sijaitsee?

Joustavin ratkaisu on käyttää dynaamista sidontaa ja etsiä palvelin ajon aikana, kun RPC tehdään ensimmäisen kerran. Ensimmäistä kertaa asiakkaan tynkä kutsua, se ottaa yhteyttä nimipalvelimeen määrittääkseen siirtoosoitteen, jossa palvelin sijaitsee. Sidos koostuu kahdesta osasta:

    Me:Palvelin, jolla on tarjottavaa palvelua, vie sille käyttöliittymän. Liittymän vienti rekisteröi sen järjestelmään, jotta asiakkaat voivat käyttää sitä.Sijainti:Asiakkaan on tuotava (viety) käyttöliittymä ennen kuin viestintä voi alkaa.

4. RPC:hen liittyvä kutsusemantiikka

Se luokitellaan pääasiassa seuraaviin vaihtoehtoihin,

    Yritä uudelleen pyyntöviesti:Yritetäänkö pyyntöviestin lähettäminen uudelleen, kun palvelin on epäonnistunut vai vastaanottaja ei saanut viestiä.Kaksoissuodatus:Poista päällekkäiset palvelinpyynnöt.Tulosten uudelleenlähetys:Kadonneiden viestien lähettäminen uudelleen suorittamatta toimintoja uudelleen palvelinpuolella.

RPC:n ominaisuudet

Tässä ovat etäprosessikutsun olennaiset ominaisuudet:

  • Kutsuttu proseduuri on toisessa prosessissa, joka todennäköisesti sijaitsee toisessa koneessa.
  • Prosessit eivät jaa osoiteavaruutta.
  • Parametrit välitetään vain arvojen mukaan.
  • RPC suoritetaan palvelinprosessin ympäristössä.
  • Se ei tarjoa pääsyä kutsumenettelyn ympäristöön.

RPC:n edut

Tässä on joitain RPC:n etuja tai etuja, kuten:

  • RPC-menetelmä auttaa asiakkaita kommunikoimaan palvelimien kanssa käyttämällä tavanomaista korkean tason proseduurikutsuja.
  • RPC-menetelmä on mallinnettu paikallisen proseduurikutsun mukaan, mutta proseduuri suoritetaan todennäköisimmin eri prosessissa ja yleensä eri tietokoneessa.
  • RPC tukee prosessi- ja säiesuuntautuneita malleja.
  • RPC piilottaa sisäisen viestien välitysmekanismin käyttäjältä.
  • Koodin uudelleen kirjoittaminen ja uudelleen kehittäminen on minimaalista.
  • Etäproseduurikutsuja voidaan käyttää jakeluun ja paikalliseen ympäristöön.
  • Se sitoo monia protokollakerroksia suorituskyvyn parantamiseen.
  • RPC tarjoaa abstraktion. Esimerkiksi verkkoviestinnän viestinvälitysluonne jää käyttäjältä piiloon.
  • RPC mahdollistaa sovellusten käytön hajautetussa ympäristössä, joka ei ole vain paikallisessa ympäristössä.
  • RPC-koodin avulla uudelleenkirjoitus- ja uudelleenkehitysponnistelut minimoidaan.
  • RPC:n tukemat prosessisuuntaiset ja säiesuuntaiset mallit.

RPC:n haitat

Tässä on joitain RPC:n käytön haittoja tai haittoja, kuten:

  • Remote Procedure Call välittää parametrit vain arvojen ja osoitinarvojen mukaan, mikä ei ole sallittua.
  • Proseduurien etäkutsu (ja paluu) aika (eli yleiskustannukset) voi olla huomattavasti pienempi kuin paikallisen proseduurin.
  • Tämä mekanismi on erittäin alttiina epäonnistumiselle, koska se sisältää viestintäjärjestelmän, toisen koneen ja toisen prosessin.
  • RPC-konsepti voidaan toteuttaa eri tavoin, mikä ei voi olla vakio.
  • Ei tarjoa joustavuutta RPC:ssä laitteistoarkkitehtuurille, koska se perustuu enimmäkseen vuorovaikutukseen.
  • Prosessin kustannuksia nostaa etämenettelykutsu.