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)
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]

  1. Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.: Introduction to Distributed Systems (PDF) Arpaci-Dusseau Books. Bibcode:2009arXiv0911.4395T arXiv:0911.4395 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ä]