21
KOMUNIKACIJA MEĐU PROCESIMA Tihana Lapaš 39060/10-R SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE VARAŽDIN

Tihana Lapas - Komunikacija Medu Procesima

Embed Size (px)

Citation preview

Page 1: Tihana Lapas - Komunikacija Medu Procesima

KOMUNIKACIJA MEĐU PROCESIMA

Tihana Lapaš 39060/10-R

SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE VARAŽDIN

Page 2: Tihana Lapas - Komunikacija Medu Procesima

Sadržaj Uvod Proces Komunikacija procesa unutar istog računalnog sustava Komunikacija procesa različitih računalnih sustava Komunikacija razmjenom poruka Poziv udaljene procedure Udaljeni dijeljeni adresni prostor

Zaključak Literatura

Page 3: Tihana Lapas - Komunikacija Medu Procesima

Uvod Današnja računala i operacijski sustavi podržavaju

istovremeno (točnije pseudoparalelno) izvršavanje više različitih programa, odnosno procesa. Stoga je nužno da ti procesi mogu međusobno komunicirati.

Isto tako, u današnje vrijeme veoma je važno uspostaviti komunikaciju i sa drugim, fizički, odnosno prostorno udaljenim računalima, točnije njihovim procesima, pri čemu se mora voditi računa o pravilima komunikacije i razmjene podataka. Taj drugi način komunikacije omogućuje se umrežavanjem.

Page 4: Tihana Lapas - Komunikacija Medu Procesima

Proces Program u izvršavanju, točnije sve ono što je potrebno da

se program može izvršiti Proces se sastoji od: Barem jedne dretve Dretvenog adresnog prostora Zajedničkog adresnog prostora Stoga i kazaljke stoga Cjevovoda Semafora Opisnika datoteka

Komunikacija između procesa može se ostvariti unutar istog ili među različitim računalnim sustavima

Page 5: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija procesa unutar istog računalnog sustava Procesi imaju razdvojene adresne prostore – razdvojeni

resursi Razlozi zbog kojih procesi imaju potrebu komunicirati: Proces A želi predati neku informaciju nekom drugom procesu

B Kada se želi osigurati da procesi neće jedan drugome omesti

izvršavanje kritičnog odsječka Kada postoji ovisnost procesa (proces A proizvodi resurs

potreban procesu B)

Page 6: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija procesa unutar istog računalnog sustava Načini komuniciranja: Putem datoteka (proces A izradi datoteku i pohrani ju na

disk, proces B preuzme njen sadržaj) – proizvođač potrošač Zajednički spremnički prostor (OS rezervira dio svog

adresnog prostora i dodjeli ga procesima, a oni mu potom mogu slobodno pristupati)

Putem poruka Putem cjevovoda

Page 7: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava Komunikacija prostorno udaljenih računala i njihovih

procesa, pri čemu su ta računala spojena (umrežena) na istu mrežu

Svako od tih računala djeluje pod svojim OS-om Operacijski sustavi tih računala ne moraju biti jednaki, ali

moraju sadržavati komunikacijske podsustave koji će se pridržavati pravila komuniciranja (PROTOKOLI)

Page 8: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava ITU i ISO su propisali protokolni slog (Protocol Stack) za

povezivanje otvorenih sustava koji je ostvaren kao sedmeroslojni model poznat kao ISO/OSI model

Današnji mrežni podsustav OS-a ostvaruje protokolni slog (4 razine) koji je nastao postepeno tijekom razvitka mreže, a znamo ga kao TCP/IP (Internet model): Application layer (primjenska razina) Transport layer (prijenosna razina) Internet layer (mrežna razina) Link layer (razina veze)

Page 9: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava

Slika 1: TCP/IP – ISO/OSI usporedba [preuzeto sa: learn-networking.com]

Page 10: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava Svaki od slojeva ima utvrđene protokole: Application layer (HTTP, SMTP, FTP)– definiraju formate podataka

i naredbi potrebnih u raspodijeljenim primjenskim programima Transport layer (TCP, UDP) – prijenos podataka između

raspodijeljenih primjenskih programa Internet layer (IP) – dodavanje zaglavlja sa adresama izvorišnog i

odredišnog računala Link layer (Ethernet, Wi-Fi) – predstavlja fizički način kojim putuju

podaci; žične veze, optički kablovi, bežična mreža, modemske veze

Pri slanju podataka krećemo se iz višeg u niži sloj, i tada se

dodaju zaglavlja, kod čitanja, postupak je obrnut

Page 11: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava 1) KOMUNIKACIJA RAZMJENOM PORUKA U aplikacijskom sloju se iznad TCP/IP razine izgradi

komunikacijski mehanizam za razmjenu poruka Poruka = IP paket (jedan paket ili niz paketa) Kada proces želi komunicirati, on mora uspostaviti

komunikacijsku priključnicu (socket)

Page 12: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava USPOSTAVLJANJE SOCKETA I POVEZIVANJE Funkcija za uspostavljanje socketa: socket (identifikator, tip, protokol) Proces uspostavi vezu sa transportnim slojem unutar svog

računala kroz jednu pristupnu točku i imenuje ju: poveznica (identifikator, adresa)

Računala se mogu povezati kada uspostave kompatibilne priključnice: poveznica (identifikator, adresa_ vlastita,

adresa _ partnera) – asimetrična funkcija

Prikladno za komuniciranje poslužitelja i klijenata

Page 13: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava

Slika 2: Komunikacija-socketi [preuzeto sa: elblender.com]

Page 14: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava MPI (Message Passing Interface) norma Omogućuje: Razmjenu poruka bez implementacije dodatne programske potpore Komunikaciju između dvaju procesa Komunikaciju unutar grupe procesa Aasinkronu komunikaciju Grupiranje procesa u virtualne topologije

Norma svakom procesu dodjeljuje njegov redni broj Procesi pošiljatelj i primatelj moraju odabrati odgovarajuće

funkcije slanja, odnosno primanja, te odgovarajući redni broj procesa s kojim žele komunicirati

Mogućnost slanja podataka do više primatelja i obrnuto

Page 15: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava

Slika 3: MPI [preuzeto sa: nf.nci.org.au]

Page 16: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava 2) POZIV UDALJENIH PROCEDURA (Remote Procedure Call) Mehanizam oponaša uporabu potprograma IDEJA: prilikom poziva potprograma ulazni se podaci

preko specificiranih lokacija prenose potprogramu, a nakon završetka potprograma rezultati se vraćaju u glavni program

Proces odakle dolazi poziv i proces kuda je poziv procedure upućen ne nalaze se u istom adresnom prostoru razmjena ulaznih podataka i rezultata obavlja se razmjenom poruka

Primjeri: mrežni printer, udaljene baze podataka...

Page 17: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava

Slika 4: Remote Procedure Call [preuzeto sa: damtp.cam.ac.uk]

Page 18: Tihana Lapas - Komunikacija Medu Procesima

Komunikacija između različitih računalnih sustava 3) UDALJENI DIJELJENI ADRESNI PROSTOR U praktičnoj primjeni se ne upotrebljava, još je u

razmatranju Ideja je da se postigne funkcija da svi procesi u različitim

računalnim sustavima koji se nalaze unutar mreže mogu adresirati memorijske lokacije zajedničke virtualne memorije (VM podijeljena na stranice)

Ukoliko stranica koju računalo traži postoji (učitana je u spremnik) desio se pogodak i računalo može raditi s njom

Ukoliko stranica ne postoji u VM-u, treba ju učitati – ona se može nalaziti na bilo kojem računalu, pa postupak njenog pronalaženja (putem poruka) može biti dugotrajan

Page 19: Tihana Lapas - Komunikacija Medu Procesima

Zaključak Razvoj tehnologije doprinijeo je tome da više nije

dovoljno samo posjedovati računalo koje je sposobno izvoditi što je više moguće različitih procesa na što je brži način, već je potrebno da to računalo bude sposobno funkcionirati i unutar mreže, sa drugim različitim računalima. Kako bi to bilo moguće, računala, točnije njihovi procesi moraju moći međusobno komunicirati. Načini na koje se odvija ta komunikacija su: porukama, pozivima udaljenih procedura ili radom sa udaljenim dijeljenim memorijskim prostorom (u razmatranju). Stoga valja zaključiti da je potrebno što je više moguće raditi na razvoju tehnologija koje olakšavaju i ubrzavaju mrežnu komunikaciju.

Page 20: Tihana Lapas - Komunikacija Medu Procesima

Literatura Budin L., Golub M., Jakobović D., Jelenković L., „Operacijski sustavi“, Element, Zagreb, 2010. Komunikacija između procesa (fer). Dostupno 25.09.2012. na:

http://docbook.rasip.fer.hr/ddb/res/2/2.4.html http://www.fer.unizg.hr/_download/repository/OS2_10_medjuprocesna_komunikacija_.pdf Komunikacija između procesa (vus). Dostupno 25.09.2012. na:

http://www.vus.hr/Nastavni%20materijali/OS%20i%20gradja%20racunala/aud8.pdf Suradnja procesa i kritični odsječci (pmf). Dostupno 25.09.2012. na:

http://web.math.pmf.unizg.hr/~borismil/os/vj3.html Operacijski sustavi (etfos). Dostupno 25.09.2012. na:

http://www.etfos.unios.hr/upload/OBAVIJESTI/obavijesti_preddiplomski/75740os_p_002_1.pdf RPC. Dostupno 25.09.2012. na: http://www.techterms.com/definition/rpc Slika TCP/IP – ISO/OSI usporedba 25.09.2012. na: http://www.learn-networking.com/wp-

content/oldimages/osi-model.jpg Slika Komunikacija-socketi. Dostupno 25.09.2012. na: http://www.elblender.com/wordpress/wp-

content/uploads/2010/10/Socket-Communication-example.jpg Slika MPI. Dostupno 25.09.2012. na: http://nf.nci.org.au/training/MPIProg/slides/mpi-

slides_AFrame_38.gif Slika Remote Procedure Call. Dostupno 25.09.2012. na:

http://www.damtp.cam.ac.uk/cosmos/private/documentation/library/SGI_bookshelves/SGI_Developer/books/IRIX_NetPG/sgi_html/figures/3.RPCIntro-1.gif

Page 21: Tihana Lapas - Komunikacija Medu Procesima

Hvala na pažnji!