next up previous contents
Next: D.8 Povzetek Up: D Komunikacija med procesi Previous: D.6 Deljeni spomin Vsebina: contents

D.7 Berkley Sockets

Eden od pomembnejsin nacinov mrezne IPC so prav gotovo vticnice (sockets), ki so se prvic pojavile v distribuciji BSD 4.3+. Vticnica je IPC kanal skozi katerega kahko procesi berejo ali pisejo po tem, ko so vzpostavili zvezo na enem koncu kanala. Vecina RPC knjiznic temelji na socket procedurah s tem, da skrivajo pred uporabnikom vecino sistemskih in mreznih posebnosti. Je pa za boljse razumevanje distribuiranih procesov pomembno tudi poznavanje vticnic, saj se s tem lahko izognemo tezavam pri iskanju logicnih napak v programih.

Proces priklapljanja vticnic in komunikacije med procesi je sledec:

  1. Proces, ki bo vrsil funkcijo streznika mora kreirati vticnico in na njej cakati na vzpostavitev zveze.
  2. Odjemalec mora ugotoviti naslov streznika in prikljucka na strezniku, ki ga bo uporabil.
  3. Podobno kot streznik tudi odjemalec naredi svojo vticnico in jo uporabi za priklop na streznik.
  4. Ob pravilnem priklopu streznik prestreze zahtevo odjemalca, jo obdela, ter se ponovno vrne k poslusanju na vticnici.

S funkcijo socket se kreira vticnica tako, da povemo obmocje povezovanja (domain) in tip povezave. Trenutno so v uporabi sledeci nacini (obmocja) povezave:

AF_UNIX
Interno povezovanje (UNIX)
AF_INET
Povezovanje na Internet omrezju
AF_ISO
Povezave kot jih predpisuje ISO
AF_NF
Protokol Xerox Network Systems
AF_IMPLINK
IMP povezava

Pri nacinu prenosa locimo dva bistveno razlicna nacina transporta podatkov: paketni in tokovni prenos, ki sta vezana na tip vticnic. Paketne vticnice omogocajo prenos datagramov in se obnasajo tako kot blocne enote. Tokovne vticnice (streams) pa so povezava do navideznega toka, podobega tokovom bytov v sistemu UNIX. Glede na ta dva tipa vticnic tako locimo med dvema razlicnima nacinoma prenosa:

Prenosi s paketi ali tokovi se razlikujejo tako v hitrosti, kot tudi v zanesljivosti povezave (prenosa). Paketni prenos je hiter, vendar v principu nezanesljiv; paketki ne pridejo nujno v pravem vrstnem redu, lahko so podvojeni ali se celo izgubijo. Prenos s tokom (stream) je zanesljiv in pocasnejsi od paketnega prenosa. Povezava je v trajanju zveze stalna, zato se lahko pri takem prenosu stalno kontrolira povezava tudi ce se ne prenasajo podatki, kar jemlje sistemske vire operacijskemu sistemu.



Copyright © 1995 Leon Kos, Univerza v Ljubljani