Etäproseduurikutsu

Wikipediasta
Siirry navigaatioon Siirry hakuun

Etäproseduurikutsu on ohjelmoinnissa ja käyttöjärjestelmäsuunnittelussa käytetty paradigma hajautetun järjestelmän toteuttamiseen. Hajautettu järjestelmä voidaan toteuttaa käyttöjärjestelmätasolla tai sovellustasolla, jolloin voidaan käyttää ohjelmointirajapintoja, ohjelmistokehyksiä ja tietoliikenneprotokollia apuna.[1]

Hajautettuja käyttöjärjestelmiä ovat esimerkiksi Apollo Computer -yrityksen Domain/OS sekä Bell Labsin Plan 9.

Tarkoitukseen kehitettyjä rajapintoja ja protokollia:[2]

  • RPC (Remote Procedure Call, "Sun RPC", IETF-standardoitu, eri toteutuksia)
  • CORBA (Object Management Group)
  • DCOM (Microsoft)
  • RMI (Remote Method Invocation, Java)

Menetelmä[muokkaa | muokkaa wikitekstiä]

Etäproseduurikutsujärjestelmän kaavio.

Etäproseduurikutsussa ohjelma etenee kahden prosessin kautta: asiakasohjelma (client) kutsuu palvelinohjelmaa (server).[3] Asiakasohjelma lähettää kutsuviestin parametreineen palvelinohjelmalle ja jää odottamaan vastausta.[3] Palvelinohjelma, joka on ollut odottamassa kutsuviestiä, käsittelee kutsun parametrit, suorittaa toiminnon ja lähettää vastausviestin, sekä jää odottamaan seuraavaa kutsuviestiä.[3] Asiakasohjelma saa vastausviestin, käsittelee tuloksen ja jatkaa suoritusta.[3]

Mallissa vain toinen ohjelma kerrallaan on aktiivisena toiminnon suorituksessa, mutta totetus voi käyttää rinnakkaisuutta sekä asynkronisia kutsuja.[3]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.: Introduction to Distributed Systems (PDF) Arpaci-Dusseau Books. Viitattu 3.6.2019. (englanniksi)
  2. https://www.oreilly.com/library/view/oracle-database-10g/9780072263251/9780072263251_ch11lev1sec1.html
  3. a b c d e RPC Model IBM. Viitattu 3.6.2019. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]