400 likes | 592 Views
DISTRIBUIRANI SUSTAVI. Procesi. Distribuirani sustavi - procesi. Procesi Procesne niti (threads) Klijenti Serveri Migracija koda Softverski agenti. Distribuirani sustavi - procesi. Procesi Stanja procesa Tabela procesa Komunikacija između procesa Zastoji Procesne niti (threads)
E N D
DISTRIBUIRANI SUSTAVI Procesi
Distribuirani sustavi - procesi • Procesi • Procesne niti (threads) • Klijenti • Serveri • Migracija koda • Softverski agenti Distribuirani sustavi - procesi
Distribuirani sustavi - procesi • Procesi • Stanja procesa • Tabela procesa • Komunikacija između procesa • Zastoji • Procesne niti (threads) • Više paralelnih tokova izvođenja programa • Implementacija • Korisnički prostor • Kernel prostor • Primjenom lightweight procesa (LWP) Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 1. Preusmjeravanje procesa u IPC-u Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 2. Povezivanje LWP sa procesnim nitima Distribuirani sustavi - procesi
Distribuirani sustavi - procesi • Procesne niti u distribuiranim sustavima • Procesne niti na klijentu • Primjer: web browser • Procesne niti na serveru • Primjer: dispečer/radnik model • Konstrukcija servera • Procesne niti • Finite-state mašina Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 3. Višenitni server organiziran kao dispečer Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 4. Načini izrade servera Distribuirani sustavi - procesi
Distribuirani sustavi - procesi • Klijenti • Korisnički interfejs • X kernel • Primjena: • Standardne aplikacije • Windows manager • X terminali • Compound dokumenti • Drag-and-drop operacije • In-place editiranje • Dokumenti koji koriste različite aplikacije ra rukovanje pojedinim dijelovima dokumenata Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 5. Osnovna organizacija X Windows sustava Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 6. Pristup replikama putem rješenja na klijentu Distribuirani sustavi - procesi
Distribuirani sustavi - procesi • Server • Iterativni server – prihvaća zahtjev i vraća odgovor • Conccurent server – prihvaća zahtjev i prosljeđuje ga drugom procesu • Pristup server ostvaren je putem krajnje točke (endpoint ili port) • Oznaka porta putem DCE deamona • Oznaka porta putem superservera • Stateless server – ne ažurira stanje svojih klijenata • Statefull server – pohranjuje informacije o stanju klijenata Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 7. a) povezivanje primjenom DCE b) povezivanje primjenom superservera Distribuirani sustavi - procesi Distribuirani sustavi - osnovni pojmovi
Distribuirani sustavi - procesi • Objekt server • Object adapter (object wrapper) • Aktivacijska politika – donošenje odluka o načinu pozivanja objekata • Kontrolira jedan ili više objekata Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 8. Primjena objekt adaptera Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 9. header.h Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 10. thread.h Distribuirani sustavi - procesi
Slika 12. glavni dio adaptera Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Migracija koda Migracija procesa sa jednog računala na drugo radi poboljšanja performansi sustava Rasterećenje računala Klijent aplikacija izvodi veliki broj operacija na bazi podataka Paraleleno izvođenje procesa (pretraživanje web-a) Fleksibilnosti i dinamičko konfiguriranje distribuiranih sustava Izbjegavanje instaliranja softvera za komuniciranje sa serverom Sigurnosni nedostaci Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 13. Dinamičko konfiguriranje klijenta Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Modeli za migraciju koda Framework procesa Code segment – skup instrukcija koje se izvode Resource segment – reference na resursa (pisači, datoteke, uređaji) Execution segment - pohranjuje podatke o trenutnom stanju izvođenja procesa (stanja procesa, programski brojač, stack) Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Migraciju koda prema segementima frameworka: Weak mobility – prijenos samo code segmenta (procesi se uvijek pokreću od početnog stanja); primjer: Java apleti Strong mobilita – prijenos code i execution segmenta – obrada može biti pokrenuta, zaustavljena i nastavljena na drugom računalu Migracija prema načinu pozivanja Inicirana od pošiljatelja: pokrenuta od računalu koje započinje obradu (upload programa na server) Inicirana od primatelja: poziv za migraciju koda dolazi od krajnjeg (target) računala: Java apleti Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 14. Alternative za migraciju koda Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Migracija i lokalni resursi Povezivanje putem indikatora Povezivanje putem vrijednosti Povezivanjeputem tipa Vrste resursa Unattached resursi (datoteke) Fastened resursi (baze podataka, web sjedišta) Fixed resursi (lokalni uređaji) Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 15. Aktivnosti na referencama lokalnih resursa Pri migraciji na drugo računalo Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Migracija u heterogenim sustavima code segment se može izvesti na heterogenom računalu execution segment se mora pravilno prezentirati na heterogenom računalu Migracija stacka Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 16. Princip upravljanja migracijom stack-a Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 17. primjer D’Agenta Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 18. Primjena objekt adaptera Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 19. Arhitektura D’Agenta Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 20. Dijelovi za opis stanja D’Agenta Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Softverski agenti Autonoman proces sposoban za reakciju na promjene ili iniciranje promjena u okruženju, najčešće u sradnji sa drugim korisnicima i drugim agentima. Osnovna svojstva softvereskih agenata Autonomnost (Autonomity) Suradnja (Colaboration) Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Vrste softverskih agenata Colaborative agent – agent je dio multiagent sustava, a ostvaruje ciljevi primjenom suradnje (organiziranje sastanka) Mobile agent – ima sposobnost migracije na druga računala (najčešće se primjenjuje strong mobility) Interface agent – pružaju pomoć krajnjem korisnika pri radu sa jednom ili više aplikacija (interaktivnost sa korisnikom, povezivanje kupaca i prodavača) Information agent – uprvaljanje informacijama iz različitih izvora (pribavljanje, filtriranja, skupljanje) Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 21. Svojstva za razlikovanje softverskih agenata Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Tehnologija agenata FIPA – Foundation for Intelligent Physical Agents: definirala je platformu za razvoj agenata Komponenta za upravljanje (stvaranje i brisanje agenata, povezivanje agenata sa platformom, imenovanje) Directory service – omogućuje informiranje o namjeni i uslugama koje agenti pružaju ACC – Agent Communication Chanel: komunikacija sa drugim agent platformama razmjenom poruka; primjena listener-a Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 22. Opći model platforme agenta Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Komunikacijski jezici agenata Komunikacija se ostvaruje primjenom aplication-level communication protocol-a (agent communication language –ACL) Striktno je odvojana namjena poruka od njihovog sadržaja Poruke mogu imati samo limititan broj namjena ACL poruka uključuje zaglavlje (namjena poruke i odredište) i sadržaj (specifičan za svaki agent) Ako agenti međuobno ne razumiju sadržaj poruka, koristi se mapiranje (prevođenje) simbola sadržaja poruka u značenje što zovemo ontologija (ontology) Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 23. Primjeri poruka FIPA ACL Distribuirani sustavi - procesi
Distribuirani sustavi - procesi Slika 24. Primjeri FIPA ACL poruka između dva agenta (korišten PROLOG) Distribuirani sustavi - procesi