43
Nivo korištenja Nivo korištenja komunikacije Software-a komunikacije Software-a Maja Petekić Maja Petekić

Nivo korištenja komunikacije Software-a

Embed Size (px)

DESCRIPTION

Nivo korištenja komunikacije Software-a. Maja Petekić. Centralna jedinica za obradu podataka. u prethodnom dijelu pažnja je bila posvećena pohranjivanju podataka i organizaciji same memorije u računalu - PowerPoint PPT Presentation

Citation preview

Page 1: Nivo korištenja komunikacije Software-a

Nivo korištenja Nivo korištenja

komunikacije Software-akomunikacije Software-a

Maja Maja PetekićPetekić

Page 2: Nivo korištenja komunikacije Software-a

Centralna Centralna jedinica za jedinica za

obradu obradu podatakapodataka

Page 3: Nivo korištenja komunikacije Software-a

u prethodnom dijelu pažnja je bila posvećena u prethodnom dijelu pažnja je bila posvećena pohranjivanju podataka i organizaciji same pohranjivanju podataka i organizaciji same memorije u računalumemorije u računalu

jednom kada su podaci pohranjeni, stroj mora jednom kada su podaci pohranjeni, stroj mora moći manipulirati sa tim podacima u skladu sa moći manipulirati sa tim podacima u skladu sa naredbama algoritma naredbama algoritma

stroj, dakle mora imati ugrađenu sposobnost:stroj, dakle mora imati ugrađenu sposobnost: izvođenja operacija i izvođenja operacija i koordiniranja redoslijedom izvođenja koordiniranja redoslijedom izvođenja

operacijaoperacija ovi zadaci se izvode u CPU-u, pa je glavna tema ovi zadaci se izvode u CPU-u, pa je glavna tema

ovog dijela usko vezana uz način funkcioniranja ovog dijela usko vezana uz način funkcioniranja centralne jedinice za obradu podataka (central centralne jedinice za obradu podataka (central processing unit – CPU)processing unit – CPU)

procesi na različitim CPU-ima na višestrukom procesi na različitim CPU-ima na višestrukom računalu komuniciraju međusobnim slanjem računalu komuniciraju međusobnim slanjem porukaporuka

Page 4: Nivo korištenja komunikacije Software-a

kada je u jednostavnijem obliku, kada je u jednostavnijem obliku, prolaznost poruke ovisi o tekućem prolaznost poruke ovisi o tekućem procesuprocesu

drugim riječima, operacijski sustav se drugim riječima, operacijski sustav se brine za prenošenje i primanje poruka, te brine za prenošenje i primanje poruka, te procedure biblioteke matematičkih procedure biblioteke matematičkih funkcija, omogućujući prolaznost tih funkcija, omogućujući prolaznost tih označenih poziva k tekućem procesu označenih poziva k tekućem procesu

u sofisticiranijem obliku, prolaznost u sofisticiranijem obliku, prolaznost poruke nije vidljiva korisnicima, kako bi poruke nije vidljiva korisnicima, kako bi daleka komunikacija izgledala poput daleka komunikacija izgledala poput postupka pozivanjapostupka pozivanja

Page 5: Nivo korištenja komunikacije Software-a

Slanje i Slanje i primanje primanje porukaporuka

Page 6: Nivo korištenja komunikacije Software-a

službe, koje se brinu o komunikaciji, mogu biti službe, koje se brinu o komunikaciji, mogu biti vratićene na dva poziva-jedan za slanje poruka i vratićene na dva poziva-jedan za slanje poruka i jedan za primanje poruka. Poziv za slanje poruke je jedan za primanje poruka. Poziv za slanje poruke je oblika:oblika:

send(dest, &mptr);send(dest, &mptr);

dok je poziv za primanje poruke oblika:dok je poziv za primanje poruke oblika: receive(addr, &mptr);receive(addr, &mptr);

pošiljaoc šalje poruku, naglašenu sa pošiljaoc šalje poruku, naglašenu sa mptrmptr, do , do sustava identifikacije, sustava identifikacije, destdest, i uzrokuje blokadu , i uzrokuje blokadu poziva, koja traje sve dok se poruka ne pošaljepoziva, koja traje sve dok se poruka ne pošalje

kasnije ponovo nastaje blokada poziva, koja traje kasnije ponovo nastaje blokada poziva, koja traje do primitka porukedo primitka poruke

nakon toga se poruka, naglašena sanakon toga se poruka, naglašena sa mptr mptr, odbija , odbija te se poziv odblokirate se poziv odblokira

parametar parametar addraddr označava adresu na kojoj primatelj označava adresu na kojoj primatelj slušasluša

Page 7: Nivo korištenja komunikacije Software-a

Blokirani Blokirani pozivi protiv pozivi protiv neblokiranihneblokiranih

Page 8: Nivo korištenja komunikacije Software-a

saznajmo sada nešto o saznajmo sada nešto o blokiranim pozivimablokiranim pozivima kada proces poziva naredbu kada proces poziva naredbu sendsend, tada mora , tada mora

specificirati odredište i tip slanja na specificirati odredište i tip slanja na određenu lokaciju određenu lokaciju

nakon slanja poruke proces slanja se blokira nakon slanja poruke proces slanja se blokira operacija popraćena pozivom naredbe operacija popraćena pozivom naredbe sendsend

nije izvršena sve dok poruka ne biva u nije izvršena sve dok poruka ne biva u potpunosti poslanapotpunosti poslana

na sličan način, pozivom naredbe na sličan način, pozivom naredbe receivereceive ne ne dobiva se odgovor sve dok poruka u dobiva se odgovor sve dok poruka u potpunosti ne pristigne, makar to potrajalo potpunosti ne pristigne, makar to potrajalo satimasatima

u nekim sustavima primatelj poruke može u nekim sustavima primatelj poruke može specificirati od koga želi primiti poruku, te se specificirati od koga želi primiti poruku, te se u tom slučaju dolazak ostalih poruka blokirau tom slučaju dolazak ostalih poruka blokira

Page 9: Nivo korištenja komunikacije Software-a

osim blokiranih poziva postoje i osim blokiranih poziva postoje i neblokirani pozivineblokirani pozivi ako je ako je send send neblokiran, tada pozivatelj odmah ima neblokiran, tada pozivatelj odmah ima

nadzor nad pozivom, još prije slanja poruke nadzor nad pozivom, još prije slanja poruke prednost ove sheme je ta što proces slanja može prednost ove sheme je ta što proces slanja može

nastaviti računanje paralelno sa slanjem poruke, za nastaviti računanje paralelno sa slanjem poruke, za razliku od beskorisnih procesa koji sadrže CPUrazliku od beskorisnih procesa koji sadrže CPU

izbor između blokiranih i neblokiranih poziva je izbor između blokiranih i neblokiranih poziva je normalno napravljen sustavom uređivanja, premda u normalno napravljen sustavom uređivanja, premda u nekoliko sustava oba su sustava dostupna i korisnici nekoliko sustava oba su sustava dostupna i korisnici mogu odabrati koji im više odgovara mogu odabrati koji im više odgovara

provedena korist ponuđenih neblokiranih osnova je provedena korist ponuđenih neblokiranih osnova je izjednačena sa ozbiljnim nedostatkom: pošiljaoc ne izjednačena sa ozbiljnim nedostatkom: pošiljaoc ne može promijeniti tip poruke dok se poruka ne može promijeniti tip poruke dok se poruka ne pošaljepošalje

proces slanja ne zna kada je slanje gotovo, tako da proces slanja ne zna kada je slanje gotovo, tako da nikada ne zna kada je sigurno moguće promijeniti nikada ne zna kada je sigurno moguće promijeniti tip poruketip poruke

Page 10: Nivo korištenja komunikacije Software-a

tako su mogući izbori na strani s koje se šalje:tako su mogući izbori na strani s koje se šalje: blokirana pošiljka (CPU nezaposlen tijekom blokirana pošiljka (CPU nezaposlen tijekom

slanja poruke)slanja poruke) neblokirana pošiljka s kopijom (CPU gubi neblokirana pošiljka s kopijom (CPU gubi

vrijeme na posebno kopiranje)vrijeme na posebno kopiranje) neblokirana pošiljka s prekidom (otežava rad)neblokirana pošiljka s prekidom (otežava rad) kopija na zapisu (posebna kopija vjerojatno kopija na zapisu (posebna kopija vjerojatno

treba zaključak (kraj))treba zaključak (kraj)) u normalnim uvjetima, prvi izbor je najbolji, u normalnim uvjetima, prvi izbor je najbolji,

naročito ako su višestruke veze dostupne, jer u tom naročito ako su višestruke veze dostupne, jer u tom slučaju, dok jednu blokiranu vezu pokušavamo slučaju, dok jednu blokiranu vezu pokušavamo poslati, ostale veze mogu nastaviti s radomposlati, ostale veze mogu nastaviti s radom

to, također, ne zahtijeva nadgledanje niti jedne to, također, ne zahtijeva nadgledanje niti jedne jezgrejezgre

poruka će obično brže stići ako ne zahtijevamo poruka će obično brže stići ako ne zahtijevamo njenu kopiju njenu kopiju

Page 11: Nivo korištenja komunikacije Software-a

NepristupačnNepristupačna procedura a procedura

pozivapoziva

Page 12: Nivo korištenja komunikacije Software-a

otkako se model prolaska poruke brine za praktičan otkako se model prolaska poruke brine za praktičan put do strukture mnogostrukog operacijskog sustava put do strukture mnogostrukog operacijskog sustava računala, to se odrazilo na jednu nepopravljivu računala, to se odrazilo na jednu nepopravljivu pogrešku: osnovni obrazac oko kojeg je izgrađena sva pogrešku: osnovni obrazac oko kojeg je izgrađena sva komunikacija je ulazno/izlaznog tipa komunikacija je ulazno/izlaznog tipa

procedure procedure sendsend i i recieverecieve su fundamentalno povezane su fundamentalno povezane u ulazno/izlaznom procesu i mnogi ljudi vjeruju da je u ulazno/izlaznom procesu i mnogi ljudi vjeruju da je ulazno/izlazni proces pogrešan model programiranjaulazno/izlazni proces pogrešan model programiranja

kada proces na računalu 1 poziva proceduru na kada proces na računalu 1 poziva proceduru na računalu 2, proces zvanja na računalu 1 je računalu 2, proces zvanja na računalu 1 je suspendiran, te izvršenje pozvane procedure uzima suspendiran, te izvršenje pozvane procedure uzima računalo 2 računalo 2

Informacija može biti poslana od pošiljaoca do Informacija može biti poslana od pošiljaoca do primatelja u parametrima i može se vratiti rezultatu primatelja u parametrima i može se vratiti rezultatu procedure procedure

niti jedna prolazna poruka niti ulazno/izlazni proces niti jedna prolazna poruka niti ulazno/izlazni proces nisu vidljivi programerunisu vidljivi programeru

ta tehnika je poznata kao ta tehnika je poznata kao RPCRPC ((Remote Procedure Remote Procedure CallCall) i postala je bazom velike vrijednosti ) i postala je bazom velike vrijednosti multiračunalnog software-amultiračunalnog software-a

Page 13: Nivo korištenja komunikacije Software-a

ideja o RPC je stvorena da bi se napravio ideja o RPC je stvorena da bi se napravio nepristupačan postupak pozivanja, koji nepristupačan postupak pozivanja, koji izgleda kao moguć kao lokalni poziv izgleda kao moguć kao lokalni poziv

u jednostavnijem obliku, da bismo pozvali u jednostavnijem obliku, da bismo pozvali nepristupačnu proceduru, posjećeni nepristupačnu proceduru, posjećeni program mora biti graničan s malom program mora biti graničan s malom bibliotekom procedure, zvanom bibliotekom procedure, zvanom posjećeni posjećeni ostatakostatak, što reprezentira proceduru servera , što reprezentira proceduru servera na posjećenoj adresina posjećenoj adresi

slično, server je graničan s procedurom slično, server je graničan s procedurom zvanom zvanom serverski ostatakserverski ostatak

te procedure skrivaju činjenicu da te procedure skrivaju činjenicu da procedura poziva posjetitelja na server nije procedura poziva posjetitelja na server nije lokalnalokalna

Page 14: Nivo korištenja komunikacije Software-a
Page 15: Nivo korištenja komunikacije Software-a

pravi koraci nastanka RPC-a prikazani su slikompravi koraci nastanka RPC-a prikazani su slikom prvi korak je kada posjetitelj poziva posjećeni prvi korak je kada posjetitelj poziva posjećeni

ostatak ostatak taj poziv je lokalna procedura poziva, u kojoj su taj poziv je lokalna procedura poziva, u kojoj su

parametri potisnuti na stog na normalnom putuparametri potisnuti na stog na normalnom putu drugi korak je kada posjećeni ostatak stavi drugi korak je kada posjećeni ostatak stavi

parametre u jednu poruku i osposobi sustav parametre u jednu poruku i osposobi sustav poziva za slanje porukepoziva za slanje poruke

stavljanje parametara nazvano je stavljanje parametara nazvano je svrstavanjesvrstavanje treći korak je kada jezgra šalje poruku od treći korak je kada jezgra šalje poruku od

posjetiteljevog računala do serverskog računalaposjetiteljevog računala do serverskog računala četvrti korak je kada jezgra prolazi dolazećim četvrti korak je kada jezgra prolazi dolazećim

paketom do serverskog ostatkapaketom do serverskog ostatka konačno, peti korak je kada serverski ostatak konačno, peti korak je kada serverski ostatak

poziva serversku procedurupoziva serversku proceduru

Page 16: Nivo korištenja komunikacije Software-a

Distibuirana Distibuirana memorijamemorija

Page 17: Nivo korištenja komunikacije Software-a

iako RPC ima svoju privlačnost, mnogi programeri još iako RPC ima svoju privlačnost, mnogi programeri još preferiraju model podijeljene memorije i vole ju preferiraju model podijeljene memorije i vole ju koristiti čak i na višestrukom računalu koristiti čak i na višestrukom računalu

moguće je realno očuvati iluziju dijeljene memorije, moguće je realno očuvati iluziju dijeljene memorije, čak i kada zapravo ne postoji, koristeći tehniku zvanu čak i kada zapravo ne postoji, koristeći tehniku zvanu DSMDSM (Distributes Shared Memory) (Distributes Shared Memory)

uz DSM, svaka stranica je locirana u jednoj memoriji uz DSM, svaka stranica je locirana u jednoj memoriji svako računalo ima svoju vlastitu virtualnu memoriju i svako računalo ima svoju vlastitu virtualnu memoriju i

svoje vlastite tablice stranice svoje vlastite tablice stranice kada CPU koristi kada CPU koristi loadload ili ili storestore na stranici koju ne na stranici koju ne

posjeduje, tada nailazi na zamku operacijskog sustava posjeduje, tada nailazi na zamku operacijskog sustava operacijski sustav tada locira stranicu i momentalno operacijski sustav tada locira stranicu i momentalno

upita CPU o zadržavanju na nedefiniranom području upita CPU o zadržavanju na nedefiniranom području stranice, te ga šalje preko međusobno povezanih mrežastranice, te ga šalje preko međusobno povezanih mreža

operacijski sustav samo zadovoljava nedostatke operacijski sustav samo zadovoljava nedostatke stranice iz nepristupačnog RAM-a umijesto iz lokalnog stranice iz nepristupačnog RAM-a umijesto iz lokalnog diska diska

Page 18: Nivo korištenja komunikacije Software-a
Page 19: Nivo korištenja komunikacije Software-a

razlika između stvarne podijeljene memorije i razlika između stvarne podijeljene memorije i DSM-a je ilustrirana na slikama DSM-a je ilustrirana na slikama

na slici (a) možemo vidjeti pravi višestruki na slici (a) možemo vidjeti pravi višestruki procesor sa fizikalno podijeljenom memorijom, procesor sa fizikalno podijeljenom memorijom, koju provodi operacijski sustavkoju provodi operacijski sustav

na slici (b) možemo vidjeti DSM, koji provodi na slici (b) možemo vidjeti DSM, koji provodi operacijski sustavoperacijski sustav

slika (c) prikazuje drugu fomu podijeljene slika (c) prikazuje drugu fomu podijeljene memorije, koju su proveli viši nivoi softwareamemorije, koju su proveli viši nivoi softwarea

kada CPU upućuje na adrese koje nisu lokalne, kada CPU upućuje na adrese koje nisu lokalne, javlja se zamka, te DSM software dohvaća javlja se zamka, te DSM software dohvaća stranicu koja sadrži adresu i ponovo pokreće stranicu koja sadrži adresu i ponovo pokreće pogrešnu naredbu, koja sada uspješno završavapogrešnu naredbu, koja sada uspješno završava

ovaj koncept je ilustriran slikom (a) za adresni ovaj koncept je ilustriran slikom (a) za adresni prostor sa 16 stranica i 4 čvora, od kojih je prostor sa 16 stranica i 4 čvora, od kojih je svaki sposoban držati 4 stranicesvaki sposoban držati 4 stranice

Page 20: Nivo korištenja komunikacije Software-a

Raspoređivanje Raspoređivanje na višestrukom na višestrukom

računaluračunalu

Page 21: Nivo korištenja komunikacije Software-a

u multiprocesoru, svi procesi pripadaju istoj memorijiu multiprocesoru, svi procesi pripadaju istoj memoriji kada CPU dovrši svoj zadatak, odabire proces i kada CPU dovrši svoj zadatak, odabire proces i

pokreće gapokreće ga u početku, svi procesi su potencijalni kandidatiu početku, svi procesi su potencijalni kandidati na višestrukom računalu situacija je malo drugačijana višestrukom računalu situacija je malo drugačija svaki čvor ima svoju memoriju i svoj sustav procesasvaki čvor ima svoju memoriju i svoj sustav procesa CPU 1 se ne može odmah odlučiti za pokretanje CPU 1 se ne može odmah odlučiti za pokretanje

procesa lociranog na čvoru 4 bez da prethodno dobije procesa lociranog na čvoru 4 bez da prethodno dobije rezultat radarezultat rada

ta razlika znači da je raspoređivanje na višestrukim ta razlika znači da je raspoređivanje na višestrukim računalima jednostavnije, ali razvrstavanje procesa na računalima jednostavnije, ali razvrstavanje procesa na čvorove je mnogo važniječvorove je mnogo važnije

raspoređivanje na višestrukom računalu je slična raspoređivanje na višestrukom računalu je slična raspoređivanju multiprocesora, ali se ne pojavljuju svi raspoređivanju multiprocesora, ali se ne pojavljuju svi formirani algoritmiformirani algoritmi

najjednostavniji algoritam multiprocesora ne radi bilo najjednostavniji algoritam multiprocesora ne radi bilo kako, svaki proces se može pokrenuti samo na CPU-u i kako, svaki proces se može pokrenuti samo na CPU-u i ondje se locira ondje se locira

Page 22: Nivo korištenja komunikacije Software-a

Grafičko-Grafičko-teorijski teorijski

deterministički deterministički algoritamalgoritam

Page 23: Nivo korištenja komunikacije Software-a

širokopisna klasa algoritama je postojeća za širokopisna klasa algoritama je postojeća za sustave procesa s poznatim CPU-om i sustave procesa s poznatim CPU-om i uvjetima memorije, te poznate matrice, dajući uvjetima memorije, te poznate matrice, dajući srednju vrijednost sadržaja između svakog srednju vrijednost sadržaja između svakog para u procesimapara u procesima

ako je broj procesa veći od broja CPU-a, ako je broj procesa veći od broja CPU-a, kk, , svaki proces će se morati dodijeliti pojedinim svaki proces će se morati dodijeliti pojedinim CPU-ima.CPU-ima.

ideja je ta da se provede ta dodijela kao ideja je ta da se provede ta dodijela kao minimiziranje sadržaja mrežeminimiziranje sadržaja mreže

sustav može biti predstavljen kao opterećen sustav može biti predstavljen kao opterećen graf, kojem je svaki vrh proces i svaki luk graf, kojem je svaki vrh proces i svaki luk predstavlja tok poruka između dva procesapredstavlja tok poruka između dva procesa

matematički, problem tada dovodi do matematički, problem tada dovodi do pronalaska načina podjele, graf rastavlja na pronalaska načina podjele, graf rastavlja na kk podgrafova (tj. CPU i uvjeti memorije ispod podgrafova (tj. CPU i uvjeti memorije ispod nekih granica za svaki podgraf) nekih granica za svaki podgraf)

Page 24: Nivo korištenja komunikacije Software-a
Page 25: Nivo korištenja komunikacije Software-a

za svaku mogućnost ograničavanja, lukovi koji su u za svaku mogućnost ograničavanja, lukovi koji su u potpunosti unutar samog podgrafa predstavljaju potpunosti unutar samog podgrafa predstavljaju komunikaciju među strojevima i mogu biti ignorirani.komunikaciju među strojevima i mogu biti ignorirani.

lukovi koji idu od podgrafa do drugog reprezenta lukovi koji idu od podgrafa do drugog reprezenta sadržaja mrežesadržaja mreže

cilj je tada pronaći podijelu koja minimizira sadržaj cilj je tada pronaći podijelu koja minimizira sadržaj mreže dok susreće sva ograničenjamreže dok susreće sva ograničenja

na slici je prikazan sustav od 9 procesa, od na slici je prikazan sustav od 9 procesa, od AA do do II, sa , sa svim lukovima označenim sa značajnom svim lukovima označenim sa značajnom komunikacijom između ta dva procesa komunikacijom između ta dva procesa

na slici (a) imamo podijeljeni graf s procesima na slici (a) imamo podijeljeni graf s procesima AA, , EE i i GG na čvoru 1, procesima na čvoru 1, procesima BB, , FF i i HH na čvoru 2 i na čvoru 2 i procesima procesima CC, , DD i i II na čvoru 3 na čvoru 3

potpun sadržaj mreže je suma lukova presjećenih potpun sadržaj mreže je suma lukova presjećenih isjećcima (isprekidane linije), ili 30 jedinicaisjećcima (isprekidane linije), ili 30 jedinica

na slici (b) imamo drugačiju podjelu koja ima samo na slici (b) imamo drugačiju podjelu koja ima samo 28 jedinica sadržaja mreže28 jedinica sadržaja mreže

uzimajući da se susreće sva memorija i ograničenja uzimajući da se susreće sva memorija i ograničenja na CPU-u, ovo je bolji izbor jer zahtijeva manje na CPU-u, ovo je bolji izbor jer zahtijeva manje komunikacijekomunikacije

Page 26: Nivo korištenja komunikacije Software-a

Algoritam Algoritam pošiljaoca pošiljaoca

upućenog u upućenog u podjelu podjelu

istraživanjaistraživanja

Page 27: Nivo korištenja komunikacije Software-a

jedan algoritam govori da kada je proces kreiran, jedan algoritam govori da kada je proces kreiran, pokreće se na čvoru koji ga kreira najmanje tako da pokreće se na čvoru koji ga kreira najmanje tako da ne bude preopterećenne bude preopterećen

metrika preopterećenosti može uključiti mnogo metrika preopterećenosti može uključiti mnogo procesa, prevelikih za skup radnji, ili neke druge procesa, prevelikih za skup radnji, ili neke druge metrikemetrike

ako je preopterećen, čvor na sreću odabire drugi čvor ako je preopterećen, čvor na sreću odabire drugi čvor i upita ga koliko je opterećen (koristeći istu metriku)i upita ga koliko je opterećen (koristeći istu metriku)

ako je taj utvrđena opterećenost čvora na neku ako je taj utvrđena opterećenost čvora na neku prihvatljivu vrijednost, novi proces je poslat tamo, a prihvatljivu vrijednost, novi proces je poslat tamo, a ako ne, za probu se odabire drugi strojako ne, za probu se odabire drugi stroj

isprobajanje ne ide u nedogledisprobajanje ne ide u nedogled ako nije pronađen prikladno pravi račun uz ako nije pronađen prikladno pravi račun uz NN proba, proba,

algoritam završava i proces se pokreće na polazećem algoritam završava i proces se pokreće na polazećem strojustroju

ideja je da se opterećeni čvorovi pokušaju osloboditi ideja je da se opterećeni čvorovi pokušaju osloboditi preopterećenog poslapreopterećenog posla

Page 28: Nivo korištenja komunikacije Software-a

Distribuirani Distribuirani sustavisustavi

Page 29: Nivo korištenja komunikacije Software-a

taj je sustav sličan višestrukim računalima u u kojima taj je sustav sličan višestrukim računalima u u kojima svaki čvor ima svoju privatnu memoriju, bez dijeljene svaki čvor ima svoju privatnu memoriju, bez dijeljene fizičke memorije u sustavufizičke memorije u sustavu

distribuirani sustavi su slabije povezani nego distribuirani sustavi su slabije povezani nego višestruka računala višestruka računala

čvorovi višestrukog računala su normalno u zasebnim čvorovi višestrukog računala su normalno u zasebnim prostorijama pa mogu komunicirati putem predane prostorijama pa mogu komunicirati putem predane brze mreže, za razliku od čvorova distribuiranog brze mreže, za razliku od čvorova distribuiranog sustava koji mogu brzo kružiti po svijetusustava koji mogu brzo kružiti po svijetu

svi čvorovi višestrukog računala pokreću iste svi čvorovi višestrukog računala pokreću iste operacijske sustave, dijele pojedine sustave operacijske sustave, dijele pojedine sustave podataka, te su pod istom administracijom, za razliku podataka, te su pod istom administracijom, za razliku od čvorova distribuiranog sustava koji mogu od čvorova distribuiranog sustava koji mogu pokrenuti različite operacijske sustave, od kojih svaki pokrenuti različite operacijske sustave, od kojih svaki ima svoj sustav podataka, te mogu biti pod različitim ima svoj sustav podataka, te mogu biti pod različitim administracijamaadministracijama

Page 30: Nivo korištenja komunikacije Software-a

Mreža Mreža hardware-ahardware-a

Page 31: Nivo korištenja komunikacije Software-a

distribuirani sustavi su građeni na vrhu distribuirani sustavi su građeni na vrhu računalnih mrežaračunalnih mreža

mreže dolaze u dva oblika: mreže dolaze u dva oblika: LANsLANs ( (Local Area NetworksLocal Area Networks), koji ), koji

čuvaju građučuvaju građu WANsWANs ( (Wide Area NetworksWide Area Networks), koji ), koji

može biti raširen po gradu, državi, ili čak može biti raširen po gradu, državi, ili čak po svijetupo svijetu

najvažniji dio LAN-a je Ethernetnajvažniji dio LAN-a je Ethernet za naš primjer WAN, pogledat ćemo na za naš primjer WAN, pogledat ćemo na

Internet, makar samo tehnički, Internet nije Internet, makar samo tehnički, Internet nije samo jedna mreža, nego skup tisuća samo jedna mreža, nego skup tisuća separiranih mrežasepariranih mreža

kako god, za naše pretpostavke, dovoljno je kako god, za naše pretpostavke, dovoljno je misliti da je to sve WAN misliti da je to sve WAN

Page 32: Nivo korištenja komunikacije Software-a

EthernetEthernet

Page 33: Nivo korištenja komunikacije Software-a

klasični klasični EthernetEthernet, koji je opisan kao IEEE , koji je opisan kao IEEE Standard 802.3, posjeduje uloženi kabel Standard 802.3, posjeduje uloženi kabel na koji je priključen veliki broj računalana koji je priključen veliki broj računala

kabel se zove kabel se zove Ethernet,Ethernet, u literaturi se u literaturi se može pronaći kao može pronaći kao luminiferous etherluminiferous ether, , kroz koji prolazi elektromagnetska kroz koji prolazi elektromagnetska radijacijaradijacija

Ethernet ima maksimalnu duljinu kabela Ethernet ima maksimalnu duljinu kabela i maksimalan broj računala koji su i maksimalan broj računala koji su povezanipovezani

u prvoj verziji Etherneta, računalo se u prvoj verziji Etherneta, računalo se spajalo na kabel bušeći rupu u sredini spajalo na kabel bušeći rupu u sredini kabela i pričvrščujući žicomkabela i pričvrščujući žicom

to se zvalo to se zvalo vampire tapvampire tap (vampirski čep)(vampirski čep)

Page 34: Nivo korištenja komunikacije Software-a

kako bi poslao paket na Ethernet, računalo prvo kako bi poslao paket na Ethernet, računalo prvo sluša kabel da vidi da li neko drugo računalo sluša kabel da vidi da li neko drugo računalo obavlja slanjeobavlja slanje

ako ne, odmah kreće sa slanjem paketa, koji sadrži ako ne, odmah kreće sa slanjem paketa, koji sadrži kratko zaglavlje veličine od 0 do 1500 byteovakratko zaglavlje veličine od 0 do 1500 byteova

ako je kabel zauzet, računalo jednostavno pričeka ako je kabel zauzet, računalo jednostavno pričeka dok se trenutno započeto slanje ne izvrši, te tada dok se trenutno započeto slanje ne izvrši, te tada počinje sa slanjempočinje sa slanjem

ako dva računala počinju sa slanjem ako dva računala počinju sa slanjem istodobno, obje radnje se odbacuju, te moraju istodobno, obje radnje se odbacuju, te moraju pričekati od pričekati od 00 do do T T secsec, te tada pokušavaju , te tada pokušavaju ponovoponovo

ako je više računala u pianju, tada moraju ako je više računala u pianju, tada moraju pričekati od pričekati od 00 do do 2T 2T sec, sec, te tada pokušavaju te tada pokušavaju ponovo poslati paketponovo poslati paket

taj algoritam se zove taj algoritam se zove binarybinary exponential backoffexponential backoff (binarno eksponencijalno odbacivanje)(binarno eksponencijalno odbacivanje)

Page 35: Nivo korištenja komunikacije Software-a

InternetInternet

Page 36: Nivo korištenja komunikacije Software-a

Internet je izveden iz Internet je izveden iz ARPANETARPANET-a, -a, experimentalnog paketa, uključujući experimentalnog paketa, uključujući mrežu, koje je pronašao U.S. Dept. Of mrežu, koje je pronašao U.S. Dept. Of Defense Advanced Research Projects Defense Advanced Research Projects AgencyAgency

oživio je u prosincu 1969. na tri računala oživio je u prosincu 1969. na tri računala u Californiji i jedanom u Utahuu Californiji i jedanom u Utahu

dizajniran je sa tolerantnim greškama dizajniran je sa tolerantnim greškama mreže koje prate kretanje vojske, čak i pri mreže koje prate kretanje vojske, čak i pri nuklearnim ekplozijama na višestrukim nuklearnim ekplozijama na višestrukim dijelovima mrežedijelovima mreže

Page 37: Nivo korištenja komunikacije Software-a

ARPANET je brzo rastao 1970-ih, na ARPANET je brzo rastao 1970-ih, na tisuće računala. Zatim paket radio mreža, tisuće računala. Zatim paket radio mreža, mreža satelita, tisuće Ethernetamreža satelita, tisuće Etherneta

Internet je postignut na dvije vrste Internet je postignut na dvije vrste računala, računala, hostshosts (PC-i, laptopi, serveri, ...) (PC-i, laptopi, serveri, ...) i i routersrouters, posebna računala koja , posebna računala koja prihvaćaju pristigle pakete na jednu od prihvaćaju pristigle pakete na jednu od mnogih pristiglih linija i šalje ih na njihov mnogih pristiglih linija i šalje ih na njihov put s mnogim odlazećim linijamaput s mnogim odlazećim linijama

routeri su povezani velikim mrežamarouteri su povezani velikim mrežama

Page 38: Nivo korištenja komunikacije Software-a

Protokoli Protokoli mrežemreže

Page 39: Nivo korištenja komunikacije Software-a

sve mreže imaju visoko specijalizirana sve mreže imaju visoko specijalizirana pravila za to koje se poruke smiju poslati, pravila za to koje se poruke smiju poslati, te koji se odgovori mogu primitite koji se odgovori mogu primiti

npr. u normalnim okolnostima, kada je npr. u normalnim okolnostima, kada je poruka poslana na odredište, to odredište poruka poslana na odredište, to odredište zahtijeva slanje potvrde o dospijeću porukezahtijeva slanje potvrde o dospijeću poruke

u drugim okolnostima potvrda se ne u drugim okolnostima potvrda se ne očekujeočekuje

set pravila po kojima partikularna računala set pravila po kojima partikularna računala komuniciraju, naziva se komuniciraju, naziva se protokolprotokol

postoje mnogi protokoli, uključujući i postoje mnogi protokoli, uključujući i router-router protokol, host-host protokol, router-router protokol, host-host protokol, i drugei druge

pogledajmo kako su povezani protokolipogledajmo kako su povezani protokoli

Page 40: Nivo korištenja komunikacije Software-a
Page 41: Nivo korištenja komunikacije Software-a

sva je sila iz Etherneta spojena na sva je sila iz Etherneta spojena na InternetInternet

proces korisnika generira poruku i pravi proces korisnika generira poruku i pravi sustav poziva za slanje na prethodno sustav poziva za slanje na prethodno izgrađenu izgrađenu TPCTPC (Transmision Control (Transmision Control Protocol) vezu Protocol) vezu

jezgra protokola upisuje zaglavlje TPC-a, jezgra protokola upisuje zaglavlje TPC-a, a zatim i zaglavlje IP-a a zatim i zaglavlje IP-a

tada odlazi do pokretača Etherneta, koji tada odlazi do pokretača Etherneta, koji upisujezaglavlje Etherneta izravno u upisujezaglavlje Etherneta izravno u paket na router Ethernetapaket na router Etherneta

taj router stavlja paket u Internettaj router stavlja paket u Internet

Page 42: Nivo korištenja komunikacije Software-a

Semantike Semantike dijeljenja dijeljenja podatakapodataka

Page 43: Nivo korištenja komunikacije Software-a

kada dva ili više korisnika dijele isti kada dva ili više korisnika dijele isti dokument, potrebno je odrediti semantike dokument, potrebno je odrediti semantike čitanja i pisanja kako bi izbjegli problemčitanja i pisanja kako bi izbjegli problem

u procesorskom sustavu semantika u procesorskom sustavu semantika normalno navodi kada nakon sustava normalno navodi kada nakon sustava pozivanja pozivanja readread slijedi sustav pozivanja slijedi sustav pozivanja writewrite, read vraća vrijednost tek , read vraća vrijednost tek pročitanog dokumenta (slika (a))pročitanog dokumenta (slika (a))

slika (b) prikazuje pravilo: “Promjene na slika (b) prikazuje pravilo: “Promjene na otvorenom dokumentu su dopuštene otvorenom dokumentu su dopuštene samo procesu koji ga je napravio. Samo samo procesu koji ga je napravio. Samo kada je dokument zatvoren, dopuštene su kada je dokument zatvoren, dopuštene su promjene drugim procesima. ”promjene drugim procesima. ”