logo

Mi az RPC az operációs rendszerben?

A Remote Procedure Call vagy az RPC egy hatékony technika elosztott, kliens-szerver alapú alkalmazások létrehozására. Funkcióhívásként vagy szubrutinhívásként is ismert. Távoli eljáráshívás az, amikor egy számítógépes program egy eljárás végrehajtását egy másik címtérben indítja el, helyi eljáráshívásként kódolva anélkül, hogy a programozó kifejezetten megadná a távoli interakció részleteit. A programozó lényegében ugyanazt a kódot írja, akár helyi, akár távoli szubrutin. Ez a kliens-szerver interakció egy kérés-válasz üzenetátadó rendszeren keresztül megvalósított formája.

Mi az RPC az operációs rendszerben

Az RPC modell azt jelenti a hely átláthatósága hogy a hívási eljárások nagyrészt ugyanazok, akár helyi, akár távoli. Általában nem azonosak, így a helyi hívások megkülönböztethetők a távoli hívásoktól. A távoli hívások általában nagyságrendekkel lassabbak és kevésbé megbízhatóak, mint a helyi hívások, ezért fontos megkülönböztetni őket.

Az RPC-k a folyamatok közötti kommunikáció (IPC) egyik formája, mivel a különböző folyamatok különböző címterekkel rendelkeznek. Különböző virtuális címterekkel rendelkeznek ugyanazon a gazdagépen, bár a fizikai címtér ugyanaz. Míg ha különböző gépeken vannak, a fizikai címtér eltérő.

Távoli eljárási hívás kezdeményezése

A hívókörnyezet felfüggesztésre kerül, az eljárás paraméterei a hálózaton keresztül átkerülnek abba a környezetbe, ahol az eljárást végre kell hajtani, és ott az eljárás végrehajtásra kerül.

Mi az RPC az operációs rendszerben

Amikor az eljárás befejeződik és meghozza az eredményt, visszakerül a hívó környezetbe, ahol a végrehajtás úgy folytatódik, mintha egy normál eljáráshívásból térne vissza.

MEGJEGYZÉS: Az RPC különösen alkalmas kliens-szerver (például lekérdezés-válasz) interakcióhoz, amelyben a vezérlés felváltva történik a hívó és a hívott fél között. Elméletileg a kliens és a szerver nem egyszerre fut; ehelyett a végrehajtás szála a hívótól a hívott felé ugrik, majd vissza.

Az RPC típusai

Háromféle távoli eljáráshívás (RPC) létezik egy operációs rendszerben, például:

Mi az RPC az operációs rendszerben

1. Visszahívás RPC

Ez a típusú RPC P2P paradigmát tesz lehetővé a résztvevő folyamatok között. Segít egy folyamatnak, hogy egyszerre legyen kliens és szerver szolgáltatás. A visszahívási RPC a következő funkciókkal rendelkezik, mint például:

tanulj szelént
  • Távolról feldolgozott interaktív alkalmazási problémák.
  • Szervert kínál klienskezelővel.
  • A visszahívás várakoztatja az ügyfélfolyamatot.
  • A visszahívási holtpontok kezelése.
  • Megkönnyíti a peer-to-peer paradigmát a résztvevő folyamatok között.

2. RPC adás

A Broadcast RPC egy kliens által a hálózaton sugárzott kérés, amelyet minden szerver feldolgoz a kérés feldolgozásának módszerével. A Broadcast RPC a következő funkciókkal rendelkezik, mint például:

  • Lehetővé teszi annak megadását, hogy az ügyfél kérési üzenetét sugározni kell.
  • Deklarálhat szórási portokat.
  • Segít csökkenteni a fizikai hálózat terhelését.

3. Batch-módú RPC

A kötegelt módú RPC segít sorba rendezni, elkülöníteni az RPC kéréseket egy átviteli pufferben, a kliens oldalon, majd egy kötegben elküldi azokat a hálózaton a szervernek. A kötegelt üzemmódú RPC a következő funkciókkal rendelkezik, mint például:

javac nem ismerhető fel
  • Minimalizálja a kérések elküldésével járó többletköltséget azáltal, hogy a hálózaton keresztül egy kötegben küldi el azokat a szervernek.
  • Ez a típusú RPC protokoll csak olyan alkalmazásoknál hatékony, amelyeknek alacsonyabb hívási sebességre van szükségük.
  • Megbízható átviteli protokollt igényel.

Mit csinál az RPC?

Amikor az RPC keretrendszert használó programutasításokat végrehajtható programmá fordítják, a lefordított kódban egy csonk szerepel, amely a távoli eljáráskódot képviseli.

A program futtatásakor és az eljáráshívás kibocsátásakor a csonk megkapja a kérést, és továbbítja azt a helyi számítógépen lévő ügyfél-futásidejű programnak. Az ügyfélcsonk első meghívásakor kapcsolatba lép egy névkiszolgálóval, hogy meghatározza a kiszolgáló szállítási címét.

Az ügyfél futásidejű programja tudja, hogyan kell megszólítani a távoli számítógépet és kiszolgálóalkalmazást, és elküldi a hálózaton keresztül a távoli eljárást kérő üzenetet. Hasonlóképpen, a kiszolgáló tartalmaz egy futásidejű programot és csonkot, amely magával a távoli eljárással kommunikál, és a válasz-kérés protokollok ugyanilyen módon kerülnek visszaadásra.

Az RPC jellemzői

Egy operációs rendszerben a távoli eljáráshívás (RPC) a következő funkciókkal rendelkezik, mint például:

  • Az RPC elrejti a felhasználó elől az üzenettovábbítási folyamat bonyolultságát.
  • Az RPC csak az OSI-modell meghatározott rétegeit használja, például a szállítási réteget.
  • Az ügyfelek magasabb szintű nyelvek használatával kommunikálhatnak a szerverrel.
  • Az RPC jól működik helyi és távoli környezetekkel egyaránt.
  • Az RPC programja egyszerű kóddal van megírva, és könnyen érthető a programozó számára.
  • Az operációs rendszer könnyen kezeli az RPC-ben érintett folyamatokat és szálakat.
  • Az operációs rendszer elrejti az RPC absztrakcióit a felhasználó elől.

Hogyan működik az RPC?

Távoli eljáráshívás meghívásakor a hívókörnyezet felfüggesztésre kerül, az eljárás paraméterei a hálózaton keresztül átkerülnek abba a környezetbe, ahol az eljárást végre kell hajtani, majd az eljárást ebben a környezetben hajtják végre.

Amikor az eljárás befejeződik, az eredmények visszakerülnek a hívó környezetbe, ahol a végrehajtás úgy folytatódik, mintha egy normál eljáráshívásból térne vissza.

Mi az RPC az operációs rendszerben

A távoli eljáráshívás (RPC) a következő lépésekben működik egy operációs rendszerben:

1. lépés: Az ügyfél, az ügyfélcsonk és az RPC futási ideje az ügyfélgépen fut.

2. lépés: Az ügyfél a szokásos módon paraméterek átadásával elindít egy kliens csonkfolyamatot. Az eljárás paramétereinek becsomagolása ún rendező . A kliens csonkja az ügyfél saját címterében tárol, és arra is kéri a helyi RPC Runtime-ot, hogy küldjön vissza a kiszolgáló csonkjának.

keményfedeles vs puhakötésű

3. lépés: Ebben a szakaszban a felhasználó normál helyi eljárási hívás útján érheti el az RPC-t. Az RPC Runtime kezeli az üzenetek továbbítását a hálózat között a kliens és a szerver között, és ellátja az újraküldést, a nyugtázást, az útválasztást és a titkosítást is.

4. lépés: A kiszolgálói eljárás befejezése után visszatér a kiszolgáló csonkjához, amely a visszatérési értékeket egy üzenetbe csomagolja (marshall). A kiszolgáló csonkja ezután üzenetet küld vissza a szállítási rétegnek.

5. lépés: Ebben a lépésben a szállítási réteg visszaküldi az eredményüzenetet az ügyfél szállítási rétegének, amely visszaküldi az üzenetet az ügyfél csonkjának.

6. lépés: Ebben a szakaszban a kliens csonk demarshall (kicsomagolja) a visszatérési paramétereket az eredményül kapott csomagban, és a végrehajtási folyamat visszatér a hívóhoz.

A távoli eljáráshívás (RPC) problémái

Egy operációs rendszerben a távoli eljáráshívás vagy az RPC olyan problémákkal szembesült, amelyeket meg kell oldani, például:

Mi az RPC az operációs rendszerben

1. RPC futási idő

Az RPC futásidejű rendszer olyan rutinok és szolgáltatások könyvtára, amelyek kezelik az RPC mechanizmus alapját képező hálózati kommunikációt. Az RPC hívás során a kliensoldali és a szerveroldali futásidejű rendszerek kódja kezeli az összerendelést, megfelelő protokollon keresztül kommunikációt létesít, hívásadatokat továbbít a kliens és a szerver között, és kezeli a kommunikációs hibákat.

2. Csonk

A csonk feladata, hogy átláthatóságot biztosítson a programozó által írt alkalmazáskód számára.

    Ügyféloldalon:A csonk kezeli a kliens helyi eljáráshívása és a futásidejű rendszer közötti interfészt, az adatokat rendezi és megszünteti, meghívja az RPC futásidejű protokollt, és kérésre végrehajt néhány kötési lépést.A szerver oldalon:A csonk hasonló interfészt biztosít a futásidejű rendszer és a kiszolgáló által végrehajtott helyi kezelői eljárások között.

3. Kötés

Honnan tudja az ügyfél, hogy kit hívjon és hol található a szolgáltatás?

A legrugalmasabb megoldás a dinamikus kötés használata, és a szerver megkeresése futási időben az RPC első elkészítésekor. Az ügyfélcsonk első meghívásakor kapcsolatba lép egy névkiszolgálóval, hogy meghatározza a kiszolgáló szállítási címét. A kötés két részből áll:

    Mi:A szolgáltatást kínáló kiszolgáló interfészt exportál hozzá. Egy interfész exportálása regisztrálja azt a rendszerben, így az ügyfelek használhatják.Helymeghatározás:Az ügyfélnek importálnia kell egy (exportált) interfészt a kommunikáció megkezdése előtt.

4. Az RPC-hez kapcsolódó hívási szemantika

válogatás tuples python

Főleg a következő választásokba sorolható:

    Újbóli kérés üzenete:Meg kell-e próbálni újra kérésüzenetet küldeni, ha a szerver meghibásodott, vagy a címzett nem kapta meg az üzenetet.Ismétlődő szűrés:Távolítsa el az ismétlődő szerverkéréseket.Az eredmények újraküldése:Elveszett üzenetek újraküldése a műveletek újraindítása nélkül a szerver oldalon.

Az RPC jellemzői

Íme a távoli eljáráshívás alapvető jellemzői:

  • A hívott eljárás egy másik folyamatban van, amely valószínűleg egy másik gépben található.
  • A folyamatok nem osztoznak a címterületen.
  • A paramétereket csak értékek adják át.
  • Az RPC a szerverfolyamat környezetében fut.
  • Nem kínál hozzáférést a hívó eljárás környezetéhez.

Az RPC előnyei

Íme néhány előnye az RPC-nek, például:

  • Az RPC módszer segíti az ügyfeleket a szerverekkel való kommunikációban a hagyományos eljáráshívások magas szintű nyelveken történő használatával.
  • Az RPC metódus a helyi eljáráshívás mintájára készült, de az eljárás nagy valószínűséggel egy másik folyamatban és általában egy másik számítógépen kerül végrehajtásra.
  • Az RPC támogatja a folyamat- és szál-orientált modelleket.
  • Az RPC rejtettvé teszi a belső üzenettovábbítási mechanizmust a felhasználó elől.
  • A kód újraírásához és újrafejlesztéséhez szükséges erőfeszítés minimális.
  • Távoli eljáráshívások használhatók az elosztáshoz és a helyi környezethez.
  • Számos protokollréteget lekötelez a teljesítmény javítására.
  • Az RPC absztrakciót biztosít. Például a hálózati kommunikáció üzenettovábbítási jellege rejtve marad a felhasználó előtt.
  • Az RPC lehetővé teszi az alkalmazások használatát olyan elosztott környezetben, amely nem csak a helyi környezetben van.
  • Az RPC kóddal az újraírási és újrafejlesztési erőfeszítések minimálisra csökkennek.
  • Az RPC által támogatott folyamat- és szál-orientált modellek.

Az RPC hátrányai

Íme néhány hátránya vagy hátránya az RPC használatának, például:

  • A távoli eljáráshívás a paramétereket csak értékek és mutatóértékek alapján adja át, ami nem megengedett.
  • A távoli eljáráshívási (és visszatérési) idő (azaz az általános költségek) lényegesen alacsonyabb lehet, mint egy helyi eljárásé.
  • Ez a mechanizmus nagyon érzékeny a meghibásodásokra, mivel egy kommunikációs rendszert, egy másik gépet és egy másik folyamatot foglal magában.
  • Az RPC koncepció többféleképpen is megvalósítható, ami nem szabványos.
  • Nem kínál semmilyen rugalmasságot az RPC-ben a hardver architektúrához, mivel az többnyire interakción alapul.
  • A folyamat költsége megnő a távoli eljáráshívás miatt.