3 dan - drs · distribuirani operativni sistemi 8 kooperativni nezavisni sistemi. centralizovani...
Post on 15-Oct-2019
39 Views
Preview:
TRANSCRIPT
Program kursa
� Karakteristike razvoja IS u distribuiranom okruženju
� Modeliranje sistema� Implementacija IS u distribuiranom okruženju
1
� Implementacija IS u distribuiranom okruženju� Razvoj specifičnih IS u distribuiranom
okruženju
Implementacija IS u distribuiranom okruženju
� Višeslojna arhitekturaDistribuirani računarski sistemi
2
� Distribuirani računarski sistemi� UNIX, WINDOWS 2000, COM +
Implementacija- troslojna arhitektura
KLIJENT
(Prezentacioni sloj) • korisni čki interfejs
3
POSLOVNI SLOJ
APLIKACIONI SERVER
IZVORI PODATAKA
• aplikaciona logika
• upravljanje podacima
Karakteristike troslojne arhitekture
• U troslojnom generičkom modelu jasno se odvaja upravljanje podacima, aplikaciona logika i korisnički interfejs.
• Prilagodljivost brzim promenema, kako u korisničkom
4
• Prilagodljivost brzim promenema, kako u korisničkom (poslovnom), tako i u implementacionom (tehnološkom) okruženju.
• Suštinu ove arhitekture odražava srednji sloj koji se različito naziva: aplikacioni server, transakcioni server, server komponenti, server poslovnih pravila, čime se posebno ističe neka funkcionalnost ovoga sloja.
Implementacija - troslojna arhitektura
• jasno se odvaja upravljanje podacima, aplikaciona logika i korisnički interfejs.
• prilagodljivost brzim promenema, u poslovnom
5
• prilagodljivost brzim promenema, u poslovnom i implementacionom okruženju
• omogućava i transparentno povezivanje korisničkih aplikacija sa različitim izvorima podaka na raznim platformama, a ne samo sa jednim serverom baze podataka.
Implementacija - troslojna arhitektura
� koncept distribuiranih softverskih komponenti (CORBA, DCOM, Java Beans) omogućava da se i komponente srednjeg sloja distribuiraju
� troslojna arhitektura je generička za višeslojne
6
� troslojna arhitektura je generička za višeslojne arhitekture koje postaju opšteprihvaćeni standard. U njima se različite funkcije srednjeg sloja (“middleware”) raslojavaju, da bi se preko većeg broja slojeva, odnosno većeg stepena indirekcije, omogućila veća modularnost, heterogenost i elastičnost sistema
Distribuirani raDistribuirani računarski sistemičunarski sistemi
o Distribuirani operativni sistemio Distribuirano računarsko okruženje DCE
7
o Distribuirano računarsko okruženje DCEo Unix o Windows 2000o COM+
Razvoj Razvoj ooperativnih perativnih ssistemaistema
� Centralizovani operativni sistemi
� Mrežni operativni sistemi
� Distribuirani operativni sistemi
8
� Distribuirani operativni sistemi
� Kooperativni nezavisni sistemi
Centralizovani operativni sistemiCentralizovani operativni sistemi
� Vertikalno raslojavanje
� Horizontalno raslojavanje
� Kernel (nucleus)
9
� Kernel (nucleus)
� Minimalni kernel
� Mikrokernel
MreMrežni operativni sistemižni operativni sistemi
� Više, slabo povezanih računarskih sistema� deljenje resursa
� razmena informacija
Transportni servisi
10
� Transportni servisi
� Aplikacioni programski interfejsi (API)� socket
� remote procedure call
Kooperativni nezavisni sistemiKooperativni nezavisni sistemi
� Računari koji podržavaju kooperativni rad u računarskoj mreži
� Kooperativni nezavisni sistemi
11
� servisi za integraciju nezavisnih aplikacija
Distribuirani Distribuirani ooperativni perativni ssistemiistemi
� Imaginacija rada sa jednim računarom
� Uniformno upravljanje resursima na svim računarima
� Obično identični kernel OS na svim računarima
12
� Obično identični kernel OS na svim računarima
� Moguće distribuiranje servisa operativnog sistema
� Transparentnost
Monolitni operativni sistem
� Kernel (jezgro) monolitnih OS� U kernel monolitnog OS su ugrañeni svi
koncepti i servisi OS
� teško je dizajnirati ga, implementirati i
13
� teško je dizajnirati ga, implementirati i razumeti
� inherentno je nejasan, nefleksibilan i nepouzdan
Mikrokernel pristupMikrokernel pristup
� Mikrokernel implementira samo minimalni skup apstrakcija i mehanizama OS
� Servisi i apstrakcije visokog nivoa u OS se realizuju preko procesa korisničkog nivoa
14
realizuju preko procesa korisničkog nivoa
� Operativni sistem je implementiran kao skup konkurentnih procesa koji koriste mikrokernel
Prednosti Prednosti mmiikkrokernelrokernel--aa
� Mikrokernel je manji, jednostavniji i pouzdaniji od monolitnog OS
� Delovi OS mogu biti projektovani ,
15
� Delovi OS mogu biti projektovani ,implementirani i mogu se izvršavatinezavisno
� Više operativnih sistema mogu raditi istovremeno na istom mikrokernelu
Nedostaci mikrokernelNedostaci mikrokernel--aa
� OS baziran na mikrokernel-u ima sledeće nedostatke:� Češće pojavljivanje povezanih prekida
� Povećan nivo komunikacije izmeñu procesa
16
� Povećan nivo komunikacije izmeñu procesa
Standardi u distribuiranim sistemimaStandardi u distribuiranim sistemima
� Open Distributed Processing (ODP)
� Distributed Computing Environment (DCE)
� Common Object Request Broker Architecture (CORBA)
17
(CORBA)
� Distributed Component Object Model (DCOM)
� SUN Enterprise JAVA Beans
Distribuirano računarsko Distribuirano računarsko ookruženjekruženje
Distributed Computer Environment (DCE)Distributed Computer Environment (DCE)
18
Distributed Computer Environment (DCE)Distributed Computer Environment (DCE)
Distribuirano računarsko Distribuirano računarsko ookruženjekruženje((DCEDCE))
� (DCE) je arhitektura, skup otvoranih standardnih servisa i pratećih API-ja koji se koriste za razvoj i administraciju distribuiranih aplikacija u okruženju različitih platformi i proizvoñača.
19
� DCE je rezultat rada Open Systems Foundation (sada pod imenom Open Group), udruženja većeg broja proizvoñača hardvera, softvera, korisnika i konsalting preduzeća.
� Jedan od razvijenih standarda je i DCE verzija 1.0,1992. godine
Distribuirano računarsko Distribuirano računarsko ookruženjekruženje(DCE)(DCE)
Globalni direktorijum Servis
Ostali Servisi
Distribuirane aplikacije
Men
adžm
ent S
ervi
si
Ser
visi
bez
bedn
osti
20
Operativni sistem i Servis transportaOperativni sistem i Servis transporta
DCE nitiDCE niti
Daljinski poziv procedure
Servis vremena
Servis direktorijuma
Ostaliservisi
Distribuirani fajl sistem
Globalni direktorijum Servis
Men
adžm
ent S
ervi
si
Ser
visi
bez
bedn
osti
Komponente distribuiranog Komponente distribuiranog računarskog okruženjaračunarskog okruženja
DCE obuhvata sledeće glavne servise:
♦ Servis direktorijuma (Directory Service)♦ Servis bezbednosti (Security Service)♦ Servis distribuiranog vremena (Distributed Time Service)♦
21
♦ Servis distribuiranih datoteka (Distributed File Service)♦ Niti (Threads)♦ Daljinski poziv procedure (Remote Procedure Call RPC)
Navedeni servisi u okviru operativnih sistema imaju API – e ( Application Programming Interface ) koji dozvoljavaju programeru da koristi ove funkcije u svojim aplikacijama.
Konkurentni procesi i programiranjeKonkurentni procesi i programiranje
Globalni direktorijum Servis
Ostali Servisi
Distribuirane aplikacije
Men
adžm
ent S
ervi
si
Ser
visi
bez
bedn
osti
22
Operativni sistem i Servis transportaOperativni sistem i Servis transporta
DCE nitiDCE niti
Daljinski poziv procedure (RPC)
Servis vremena
Servis direktorijuma
Ostaliservisi
Distribuirani fajl sistem
Globalni direktorijum Servis
Men
adžm
ent S
ervi
si
Ser
visi
bez
bedn
osti
Konkurentni procesiKonkurentni procesi
� Sekvencijalni procesi� Upravljanje jednom niti
� Konkurentni procesi
23
� razdvojeni procesi
� koordinacija konkurentnih procesa
� Upravljanje višestrukim nitima
Konkurentni procesiKonkurentni procesi
P P P
P1
P2
P1
P2 P3 P4
P P P
24
K K K
P7 P8
P1
P2
P2 P3 P4 P2
P3
P4
P5 P6
KKK
Korišćenje niti Korišćenje niti
� U bilo kom trenutku, nalazi se tačno jedna tačka u programu koja se izvršava - nit.
� Nit je jedinica izvršnog toka unutar procesa.
� U okviru niti je moguće kombinovati:
25
� U okviru niti je moguće kombinovati:� sekvencijalno izvršavanje
� paralelizam
� blokiranje procesa
� Implementacija niti� u korisničkom prostoru
� u kernelu
� Nit se može koristiti za realizaciju servera
Multithreaded Process Model
Single Threaded and Single Threaded and Multithreaded Process ModelMultithreaded Process Model
Single Threaded Process Model
ProcessControl
blok
Userstack
ThreadControl
blok
ThreadControl
blok
ThreadControl
blok
26
Kernelstack
UserAddress
spaceProcessControl
blok
UserAddress
space
Userstack
Kernelstack
Userstack
Kernelstack
Userstack
Kernelstack
Thread Thread Thread
Implementacija niti u Implementacija niti u korisničkom prostorukorisničkom prostoru
� Operativni sistem vidi samo jednu nit
� Niti su u potpunosti implementirane u korisničkom prostoru
� Niti se nalaze na vrhu run-time biblioteke
27
� Niti se nalaze na vrhu run-time biblioteke
� Planiranje rada niti vrši run-time sistem-obično bez prijemcije
Implementacija niti u kerneluImplementacija niti u kernelu
� Operativni sistem je tretiran kao
jednonitni proces
� Niti kreira i uništava kernel,
28
moguća je prijemcija
� Kombinacija implementacije u kernelu i korisničkom prostoru
KlijentKlijent--Server ModelServer Model
� Klijent-server je komunikacioni obrazac za komunikaciju izmeñu procesa
� Server obezbeñuje servise
� Klijent zahteva servise
29
� Klijent zahteva servise
� Uloge su relativne
� Potrebni su samo komunikacioni sistemski pozivisend i receive
� Problem lociranja servera
KlijentKlijent--Server ModelServer ModelInteligentni
Klijent Internet
BrowserBrowserClient
N-nivojskaarhitektura
PresentationPresentation
InteligentniServer
30
PresentationPresentation
Business
Data
PresentationPresentation
Business
Data
ClientPresentationPresentation
Business
Data
Business
Data
PresentationPresentation
Servisi operativnih sistemaServisi operativnih sistema
31
Servisi operativnih sistema Servisi operativnih sistema
Globalni direktorijum Servis
Ostali Servisi
Distribuirane aplikacije
Men
adžm
ent S
ervi
si
Ser
visi
bez
bedn
osti
32
Operativni sistem i Servis transportaOperativni sistem i Servis transporta
DCE nitiDCE niti
Daljinski poziv procedure
Servis vremena
Servis direktorijuma
Ostaliservisi
Distribuirani fajl sistem
Globalni direktorijum Servis
Men
adžm
ent S
ervi
si
Ser
visi
bez
bedn
osti
Prednosti distribuiranih sistemaPrednosti distribuiranih sistema
� Deljenje resursa
� Raspodela procesorskog opterećenja
� Poboljšanje pouzdanosti pri otkazu dela sistema
33
ServiServisi distribuiranih si distribuiranih operativnih sistemaoperativnih sistema
� Servisi mikrokernela� meñuprocesna komunikacija� upravljanje memorijom� I/O niskog nivoa
34
� I/O niskog nivoa� deo upravljanja procesima niskog nivoa
� Sistemski servisi� Servisi sa dodatim vrednostima
(value added servisi)
Zahtevi projektovanja DCE servisaZahtevi projektovanja DCE servisa
� Transparentnost� Fleksibilnost� Pouzdanost� Performanse
35
� Performanse� Distribuirani algoritmi � Modeliranje klijenata i servera prema
potrebama aplikacija
Modeli sistemaModeli sistema
� Model radne stanice� radna stanica-server model (klijent-server)
� Processor poll model� Hibridni model
36
� Hibridni model
PerformanPerformansese
� Komunikacioni sistem distribuiranog računarskog sistema mora biti dobro projektovan i testiran jer:
Raspodela procesorskog opterećenja povlači
37
� Raspodela procesorskog opterećenja povlači potrebu za komunikacijom
� Održavanje pouzdanosti zahteva komunikaciju
Vreme u distribuiranim sistemimaVreme u distribuiranim sistemima
� Uloga vremena u računarskim sistemima� pojavljivanje dogañaja
� vremenski intervali
38
� Situacija u distribuiranim sistemima� nedostatak globalnog fizičkog vremena
� Utvrñivanje redosleda dogañaja bez globalnog fizičkog sata
Logički SatLogički Sat
� Celobrojni brojač se uvećava kada se pojavi dogañaj
� Sinhronizacija logičkog sata se bazira na slanju i primanju poruka
39
primanju poruka
� Vrednost logičkog sata je sastavni deo svake sinronizacione poruke
� Mogući su razdvojeni (konkurentni) dogañaji tako da je skup dogañaja delimično ureñen
� Nekad je potreban potpuni poredak svih dogañaja
Logički SatLogički Sat
� Često je nemoguće utvrditi redosled dogañaja iz relacija logičkih vremena njihovih pojavljivanja
� Uvodi se vektor logičkog sata
� Vektor logičkih satova dva konkurentna dogañaja
40
� Vektor logičkih satova dva konkurentna dogañaja ne može zadovoljiti relacije poredka: veći od i manji od
Fizički satFizički sat
� Jedinstveno koordinacijsko vreme(Universal Coordinated Time (UTC))
� Vremenski serveri (Time servers)
41
� Kašnjenje prenosa signala (signal propagation delay)
� Mrežno kašnjenje(network delay)
� Više servera (Several servers)� Vremenska razlika (time discrepancy)
Konkurentno programiranjeKonkurentno programiranje
� Centralizovani sistemi� i sinhronizacija procesa i meñuprocesna
komunikacija su bazirani na konceptu deljenih promenjivih
42
� Distribuirani sistemi� meñuprocesna sinhronizacija preko slanja
poruka
� imlicitna sinhronizacija uključena u slanje poruka
� simulacija sinhronizacije deljenih promenjivih slanjem poruka
Sinhronizacija slanja porukaSinhronizacija slanja poruka
� Dva komunikaciona servisa� slanje poruke
� primanje poruke
� Blokirajuće i neblokirajuće komunikacione primitive
43
� Sinhrono slanje poruka� blokirajući send, blokirajući receive
Meñuprocesna komunikacijaMeñuprocesna komunikacija
44
Meñuprocesna komunikacijaMeñuprocesna komunikacija
Vrste komunikacije izmeñu procesa su:
� Prenošenje poruka
� Zahtev/odgovor� klijent-server
45
� klijent-server
� daljinsko pozivanje procedura (RPC)
� Transakcije
� Deljena memorija
Komunikacija prenošenjem porukaKomunikacija prenošenjem poruka
� Sastav poruka� kontrolna informacija
� podaci u formi objekata
46
� Osnovne razmene poruka� slanje(odredište, poruka)
� prijem(izvor,poruka)
� Adresiranje komunikacionih entiteta
Komunikacija prenošenjem porukaKomunikacija prenošenjem poruka
� Nazivi procesa kao adrese� simetrična šema imenovanja� asimetrična šema adresiranja� jedan dvosmeran link
47
� jedan dvosmeran link
� Linkovi� Moguće su višestruke komunikacione putanje
izmeñu procesa � jednosmerna komunikaciona putanja
Komunikacija prenošenjem porukaKomunikacija prenošenjem poruka
� Šeme direktnog adresiranja
� Šeme indirektnog adresiranja� Mailbox
48
� komunikacija više ka više i višestrukih putanja
� Portovi� komunikacija više ka jednim
Sinhronizacija i prihvatanje porukaSinhronizacija i prihvatanje poruka
� Baferi ublažuju raskorak u brzini radaizmeñu pošiljaoca i primaoca
� Poruka prolazi kroz� procesni bafer pošiljaoca
49
� procesni bafer pošiljaoca� bafer komunikacione mreže� procesni bafer primaoca
“Pipe” i “Socket” API“Pipe” i “Socket” API
� Pipe� Jednosmerni komunikacioni link� Predstavljen parom deskriptora� Predstavlja tok bajtova po FIFO principu� Podaci su neinterpretirani
50
� Podaci su neinterpretirani� Bitan je redosled poruka (“message queue”)� Imenovan pipe - FIFO file
� Socket� Mehanizam na vrhu transportnog sloja� Par socketa uspostavlja dvosmerni komunikacioni link
“Pipe” i “Socket” API“Pipe” i “Socket” API
� Socket sistem poziva� socket� veza
� sendto/recvfrom
51
� sendto/recvfrom
� povezivanje� send/recv� read/write
� listen i accept
Udaljeni poziv procedure Udaljeni poziv procedure -- RPCRPC
Remote serverapplication
Clientapplication
Local Local
52
Local applicationOr
Operating system
Localresponse
RPC mechanism
Local stub
LocalProcedurecall
RPC mechanism
Local stub
Localresponse responseLocal
Procedurecall
Remote procedure call
Remote procedure call
Baza podataka o sadržaju Baza podataka o sadržaju distribuiranih sistemadistribuiranih sistema
� Directory Information Tree (DIT)� imenovanje domena
� imenovanje konteksta
Directory Service Agents (DSA)
53
� Directory Service Agents (DSA)
� Directory User Agents (DUA)
Meñuprocesna Meñuprocesna kkoordinacijaoordinacija
54
Kooperativni procesiKooperativni procesi
� Višestruki procesi u procesu rada često moraju postići neki sporazum koji podrazumeva koordinaciju i sinhronizaciju
Važni problemi distribuirane koordinacije
55
� Važni problemi distribuirane koordinacije� distribuirana meñusobna isključenja
� distribuirani izbor voñe (leader)
Distribuirana meñusobna isključenjaDistribuirana meñusobna isključenja
� Jednoprocesorski sistem� konstruisanje korišćenjem zajedničkih varijabli
� Distribuirani sistemi
56
� pristup na osnovu sukoba� korišćenjem nekog kriterijuma za prekid veze
� kontrolisani pristup� korišćenjem tokena
Distribuirana meñusobna isključenja
o Lamport-ovi Algoritmio Ricart i Algrawar-ov algoritamo Algoritmi zasnovani na glasanju
57
LamportLamport--ovi Algoritmi ovi Algoritmi
� Koristi Lamport’s logički sat da potpuno uredi sve kritične oblasti ulaznih zahteva� proces prenosi zahtev� čeka sve odgovore
58
� čeka sve odgovore� ulazi u svoju kritičnu oblast ukoliko je njegov
vremenski rok najkraći� kompleksnost poruke je 3*(N-1)
Ricart i AlgrawarRicart i Algrawar--ov algoritam ov algoritam
� Modifikacija Lamport-ovog algoritma� proces koji prima zahtev odlaže odgovor ukoliko
� je on u kritičnoj oblasti
� on teži da uñe u kritičnu oblast i njegov vremenski rok je
59
� on teži da uñe u kritičnu oblast i njegov vremenski rok je kraći nego rok dolazećeg zahteva
� kompleksnost poruke je smanjena na 2*(N-1)
Algoritmi zasnovani na glasanjuAlgoritmi zasnovani na glasanju
� Svi procesi moraju odgovarati Lamport-ovim ili Ricart i Agrawala algoritmu
� Izbor pobednika zahteva većinu glasova� Proces odgovara zahtevu samo ako on nije
60
� Proces odgovara zahtevu samo ako on nije glasao za drugi proces
� U ovom sistemu je moguć zastoj
Algoritmi zasnovani na glasanjuAlgoritmi zasnovani na glasanju
� Vremenski rok je vezan za očekivane poruke od drugih procesa
� Proces pokušava da povrati glas ukoliko je primljena poruka kraćeg vremenskog roka
61
� Ukoliko proces koji pokušava ulazak u kritičnu oblast nije ušao u svoju kritičnu oblast, on vraća glas
� Definišu se skupovi zahteva za ulazak u kritičnu oblast
Topologija Topologija llogičkog ogičkog pprstenarstena
� Poruka o izboru cirkuliše kroz prsten i svaki proces dodaje njoj svoj ID
� Proces sa većim ID u povratnoj poruci postaje voña
62
postaje voña
� Poboljšanja
Rasporeñivanje distribuiranih procesaRasporeñivanje distribuiranih procesa
63
Rasporeñivanje Rasporeñivanje ddistribuiranih procesaistribuiranih procesa
� Svrha
� Minimizuje ukupno vreme izvršenja poslova
� Efikasna upotreba resursa
64
� Rasporeñivanje procesa možemo podeliti na:
� Strategije rasporeñivanja distribuiranog procesa
� Mehanizmi rasporeñivanja distribuiranog procesa
Strategije Strategije rrasporeñivanja asporeñivanja ddistribuiranih istribuiranih pprocesarocesa
� Odgovoriti na sledeća pitanja:� Kada se proces izvršava?
� Gde se proces izvršava?
Koliko dugo se proces izvršava?
65
� Koliko dugo se proces izvršava?
� Mogu se podeliti na:� Statičke strategije
� Dinamičke strategije
Statične Statične sstrategije trategije rrasporeñivanja asporeñivanja ddistribuiranih istribuiranih pprocesarocesa
� Sve odluke se donose pre otpočinjanja procesa
� Rasporeñivač mora da zna:
66
� Šablone komunikacija i proračuna
� Osnovnu arhitekturu
� Rasporeñivač je centralizovan
Prednosti Prednosti mmodela diodela disstribiuranja tribiuranja pprocesarocesa
� Veze izmeñu procesa su prilagoñene korišćenju
� Distribuirano okruženje je prilagoñeno
67
korišćenju “neusmerenog grafa”
� Rasporeñivač traži najbolji raspored
� Postoji nekoliko heurističkih algoritama
Model Model kkomunikacije izmeñu omunikacije izmeñu pprocesarocesa
� Ponašanje procesa je modelirano“neusmerenim grafom”
� Distribuirano okruženje je predstavljenofunkcijom troškova
68
funkcijom troškova
� Rasporeñivač teži ka minimiziranju prekomerih komunikacija i proračuna
Strategije Strategije ddinamičkoginamičkog rrasporeñivanja asporeñivanja distribuiranih distribuiranih pprocesarocesa
� Rasporeñivač može doneti odluke nakon što je proces započet
� Dinamička strategija se sastoji od:Strategije transfera
69
� Strategije transfera
� Strategije izbora
� Strategije lokacije
� Deljenje (Rasporeñivanje) opterećenja
Deljenje Deljenje oopterećenjapterećenja
� Procesi se rasporeñuju po neopterećenim ili malo opterećenim računarima
� Procesi se ne smeju prebacivati
70
� Dve moguće arhitekture� Samostalni rasporeñivač
� Više rasporeñivača
Rasporeñivanje Rasporeñivanje oopterećenjapterećenja
� Rasporeñivač teži da ujednači (uravnoteži) sistemsko opterećenje
� Rasporeñivač mora sakupiti globalno stanje
71
� Algoritmi rasporeñivanja:� Sa naglaskom na pošiljaoca
� Sa naglaskom na primaoca
Mehanizmi Mehanizmi rrasporeñivanja asporeñivanja ddistribuiranih istribuiranih pprocesarocesa
� Dozvoliti rasporeñivaču da sprovodi strategije� Daljinsko izvršavanje
� Prebacivanje procesa
72
� Prebacivanje procesa
� Mogu biti implementirani na različitim nivoima:� Operativni sistem
� Programski jezik
� Aplikacija
Daljinsko Daljinsko iizvršavanjezvršavanje
� Koristi se za pokretanje procesa na udaljenom računaru� Izabrati željeni računar� Uspostaviti daljinsko izvršavanje
73
� Napraviti novo računarsko okruženje� Preneti stanje računara� Inicirati novo računarsko okruženje� Pokrenuti proces u novom okruženju
Premeštanje Premeštanje pprocesarocesa
� Koristi se za premeštanje procesa sa lokalnog na udaljeni računar
� Pomera računarsko i komunikacijsko
74
stanje� Prosleñivanje poruka
� Preventiva protiv gubljenja poruke
� Povratak izgubljene poruke
DisDisttribuirani ribuirani ffajajl sl siistemstemii
75
Distribuirani fajl sistemDistribuirani fajl sistem
Globalni direktorijum Servis
Ostali Servisi
Distribuirane aplikacije
Men
adžm
ent S
ervi
si
Ser
visi
bez
bedn
osti
76
Operativni sistem i Servis transportaOperativni sistem i Servis transporta
DCE tredoviDCE tredovi
Daljinski poziv procedure
Servis vremena
Servis direktorijuma
Ostaliservisi
Distribuirani fajl sistem
Men
adžm
ent S
ervi
si
Ser
visi
bez
bedn
osti
DistribuirDistribuiraani fajl sistemini fajl sistemi
� Uloga fajl sistema
� Koncepti distribuiranih sistema� transparentnost
77
� servis imena
� keširanje i replikacija
� sigurnost
Aspekti DFS-a
� Distribuirani klijenti
� Distribuirane datoteke
� Paraleno korišćenje podataka od strane
78
više korisnika
� Ostali� tolerancija greške, skalabilnost, heterogenost
Organizacija fajl sistemaOrganizacija fajl sistema
� Funkcionalna organizacija� servis direktorijuma
� servis autorizacije
fajl servis
79
� fajl servis
� sistemski servisi
Fajl Fajl sserverierveri
� Server� proces koji izvršava servis
� Veliki fajl sistemi konstruisani od različitih
80
servera
� “Maunting” fajlova� Eksplicitni “maunting”
� Boot “maunting”
� Automatski “maunting”
KeširanjeKeširanje
� Vrste keširanja na klijentu� kroz � unazad� po zatvaranju
81
� po zatvaranju
Replikacija fajlovaReplikacija fajlova
� Glavni razlozi:� Obezbeñenje pouzdanosti
� Poboljšanje dostupnosti
Povećane performanse
82
� Povećane performanse
DDistribuirana deljena memorijaistribuirana deljena memorija
83
Potrebe za distribuiranom memorijomPotrebe za distribuiranom memorijom
� Osnovna potreba je direktno deljenje informacija umesto prosleñivanja podataka
� Distribuirana deljena memorija simulira logički deljeni memoriski adresni prostor preko skupa
84
deljeni memoriski adresni prostor preko skupa fizički distribuiranih lokalnih memorijskih sistema
� Implementacija distribuirane deljene memorije zavisi od prosleñivanja poruka koje sloj softvera čini transparentnim
Arhitektura distribuirane Arhitektura distribuirane deljene memorije (DSM)deljene memorije (DSM)
LOKALNA
MREŽA KOMUNIKACIJA
• LOKALNI PRISTUP
• DALJINSKI PRISTUP
85
PROCESORI
LOKALNA MEMORIJA
Arhitektura distribuirane Arhitektura distribuirane deljene memorije (DSM)deljene memorije (DSM)
LOKALNA
MREŽA KOMUNIKACIJA• LOKALNI PRISTUP
• DALJINSKI PRISTUP
• SA DALJINSKOG NA LOKALNI
86
PROCESORI
LOKALNA MEMORIJA• PREMEŠTANJE BLOKA
- BLOK BALANSIRANJE
Arhitektura distribuirane Arhitektura distribuirane deljene memorije (DSM)deljene memorije (DSM)
LOKALNA
MREŽA KOMUNIKACIJA
• PREMEŠTANJE BLOKA
• LOKALNI PRISTUP
• DALJINSKI PRISTUP• SA DALJINSKOG NA LOKALNI
87
PROCESORI
LOKALNA MEMORIJA
• REPLIKACIJA BLOKA
- BLOK BALANSIRANJE
• POGREŠNO DELJENJE
- OMOGUĆEN SIMULTANI PRISTUP
- AŽURIRANJE NAGOVEŠTAJA
PODRAZUMEVA KONTROLU
KOHERENTNOSTI
Vrste sistema distribuirane Vrste sistema distribuirane deljene memorije (DSM)deljene memorije (DSM)
� Zasnovan na stranicitražena stranica na drugoj mašini mora se dovući putem softvera
88
� Zasnovan na deljenoj promenljivoj
Samo je odabrani deo memorijskog prostora deljen
� Zasnovan na objektuDeljeni podaci su organizovani u objekte
Modeli postojanosti memorijeModeli postojanosti memorije
� Koherentnost – najstroži zahtev za postojanost -memorija je uvek pouzdana.
� Model postojanosti – memorija je u postojanom
89
Model postojanostistanju samo u pojedinim sinhronizacionim tačkama.
� Restriktivniji – programiranje je lakše.
� Manje restriktivan – daje bolje performanse.
Modeli postojanosti memorijeModeli postojanosti memorije
� Modeli postojanosti opšteg pristupa
� zasnovani na opštim čitaj-piši pristupima
� Modeli postojanosti sinhronizovanog
90
� Modeli postojanosti sinhronizovanog pristupa
� zasnovani na sinhronizacionoj promenljivoj S i posebnom sinhronizuj-potraži-oslobodi pristupu
Algoritmi upravljanja memorijomAlgoritmi upravljanja memorijom
� Tri mogućnosti pristupa daljinskom memorijskom bloku:� Daljinski pristup se izvodi daljinski na daljinskom čvoru
91
� Daljinski blok je premešten na lokalni čvor
� Daljinski blok je preslikan na lokalni čvor
� Dva različita načina pristupa:
� Read – “Čitanje”
� Write – “Pisanje”
Prosleñen zahtevProsleñen zahtev
BLOCKcurrentowner
BLOCKMogući vlasnik
BLOCKcurrentowner
BLOCKcurrentowner
PRETHODNI VLASNICI TRENUTNI VLASNIK
BLOCKMogući vlasnik
BLOCKMogući vlasnik
92
BLOCKprobable
ownerBLOCK
Trenutni vlasnik
ZAHTEV
Direktno kontaktiranjeDirektno kontaktiranje
BLOCKcurrentowner
BLOCKMogući vlasnik
BLOCKcurrentowner
BLOCKcurrentowner
PRETHODNI VLASNICI TRENUTNI VLASNIK
BLOCKMogući vlasnik
BLOCKMogući vlasnik
93
BLOCKTrenutni vlasnik
UnixUnix
94
Istorija UnixIstorija Unix--aa
� 1969 K.Thompson, D.Ritchie, B.Kernighhan “Space Travel” - PDP 7 - Unix (asembler)
� 1973 Unix prerañen u C, 25 univerzitetskih instalacija besplatno !!!
95
instalacija besplatno !!!
� 1978 BSD Unix : Berkley Univerzitet, Bill Joy 2.x BSD (16bit, PDP-11), 4.x BSD(32bit, VAX)
� 1991 Linus Thorvalds, Univerzitet Helsinki Linux
Prve verzije Prve verzije UNIXUNIX--aa
� Pisane na višem programskom jeziku
� Distriburane u formi izvornog koda
� Malo monolitno jezgro(kernel);
96
radno okruženje i sistemske komande su prilagoñene za korisnički prostor
� Mehanizam za kombinovanje primitiva kernela u korisničkim aplikacijama
Osnovni konceptiOsnovni koncepti UnixUnix--aa
� Procesi
� adresni prostor
� kontrolna nit
97
� Fajl sistem
� Meñuprocesni komunikacioni mehanizmi
Kernel tradicionalnog Unix-a
Kernel level
User levelTrap
User Programs
System call interface
Libraries
Interprocess
98HARDWARE
Hardware controlKernel level
Hardware level
ProcessControlsubsystem
File subsystem
Buffer Cache
Device drivers
Character Block
Interprocesscommunication
Scheduler
Memorymanagement
ProcesiProcesi
� “Kontrolna nit u adresnom prostoru”
� Odvojeni virtuelni adresni prostor
� Upravljanje memorijom
(Teški) procesi u tradicionalnom Unix-u
99
� (Teški) procesi u tradicionalnom Unix-u
� Niti (laki procesi)
� Korisnički prostor ili niti prostornog kernela
Adresni prostor procesaAdresni prostor procesa
� Vrste memorijskih objekata� imenovani: fajlovi koji odreñuju mapiranu
memoriju
� anonimni: rezervisani memorijski prostor u
100
� anonimni: rezervisani memorijski prostor u oblasti razmene podataka izmeñu procesa; popunjen nulama pri prvom korišćenju
� prateći: privatne kopije modifikovnih strana
� kopirani: privetne stare strane iz modifikovanih datoteka
Fajl sistem Fajl sistem
� “Skup imenovanih datoteka u razgranato strukturiranoj hijerarhiji direktorijuma”
� Isti korisnički interfejs za datoteke i ureñaje
101
ureñaje
� Transparentan pristup datotekama na udaljenim mašinama
� Network File System (NFS)
Mehanizmi komunikacijeMehanizmi komunikacije
� PIPE: tok bajtova izmeñu procesa
� Signali: obaveštenje o dogañajima koji su nastupli
102
� Deljena memorija: (shared memory)
� Soketi: koriste se za IPC
Tipovi socketTipovi socket--aa
� Datagram: nepouzdan, manje povezani paketi
� Tok: pouzdan tok bajtova zasnovan na konekciji
103
konekciji
� Sekvencijalni paket socket: pouzdan paket
� Sirovi: direktni pristup protokolima
Elementarna komunikacija Elementarna komunikacija izmeñu socketaizmeñu socketa
socket(domen, tip, protocol) socket(domen, tip, protocol)
peer proces peer proces
104
bind(socket, adresa, …)
sendto (socket, msg, …)recvfrom (socket, msg, …)
bind (socket, adressa, …)
recvfrom(socket, msg, …)sendto(socket, msg, …)
Sinhronizovana komunikacija Sinhronizovana komunikacija izmeñu socketaizmeñu socketa
socket (domen, tip, protocol) socket (domen, tip, protocol)
bind (socket, adresa,...)
Klijent Server
105
listen (socket)
newsocket=accept (socket,…)
work ()
read (newsocket,…)
write (newsocket,…)
connect (socket,…)
read (newsocket,…)
write (newsocket,…)
request
reply
rendezvous
Mrežna komunikacijaMrežna komunikacija
� TCP/IP protokol
� Implementirana apstrakcijom socket-a
� Šire korišćenje počinje od 4.2BSD verzije
106
Unix-a
Besplatni operativni sistemiBesplatni operativni sistemi
� OS bazirani na 4.4BSD Unix-a� NetBSD http://www.netbsd.org
� FreeBSD http://www.freebsd.org
� OpenBSD http://www.openbsd.org
107
� OpenBSD http://www.openbsd.org
� Linux baziran na system V Unix-u� http://www.linux.org
� http://www.linuxhq.com
� http://www.linuxpowered.com
WINDOWS 2000
108
Mrežni API-i u Windows 2000
� Win32 U/I API� Win32 mrežni (WNet) API� Win32 imenovani “pipe” i “mailslot” APIi
NetBIOS API
109
� NetBIOS API� Windows Sockets API� Remote procedure call (RPC) mogućnost
Imenovani tokovi
� Interfejs visokog nivoa za NetBIOS� Implementirani na pseudo-file sistemu i
predstavljeni kao objekti datoteka� Postoji ili na lokalnom ili na udaljenom
110
� Postoji ili na lokalnom ili na udaljenom računaru i obezbeñuje način za komunikaciju u distribuiranoj okolini
Replicator
Windows 2000 archicteturaSystem processes
Service Controler
Winlogon
Sessionmanager
Services
Alerter
RPC
Event logger
Applications
User application
Subsystem DLLs
Environment subsystems
POSIX
OS/2
Win 32
User mode NTDLL.DLL
111
User mode
Executive API
System thraed
NTDLL.DLL
Hardware interfaces (buses, I/O interrupts, timers, clocks, DMA, cache control, etc.)
Device drivers Microkernel
Hardware abstraction layer (HAL)
I/O managerWindow manager
Virtualmemory
management
Securityreferencemonitor
Process/ threadmodel
Cachemanager
LPCFacility
Object management / Executive RTLFile
systems
Kernel mode
Windows 2000 executive
Windows DNAWindows DNA
� Platforma koja opisuje kako razvijati višeslojne, skalabilne distribuirane aplikacije visokih performansi za rad u distribuiranom računarskom okruženju.
112
� Cilj DNA je dobavljanje enterprise level rešenja.
� Integrisani programski model baziran na COM+ (Component object Model).
� Obezbeñuje enterprise based rešenja Microsoft-a
Arhitektura Arhitektura Windows DNAWindows DNA
Prezentacioni sloj
DHTML, Forme
COM+ Sistemski servisi
Administracija
Mrežni servisi
113
Alati
DHTML, Forme
Sloj poslovne logike
Web server IISTransakcije MTS
Sloj pristupa podacima
DBMS, File system, mail, txt
Zaštita
Osnovni servisi
Prezentacioni sloj Prezentacioni sloj -- DNADNA
� Prikupljanje informacija od korisnika,
� Provera unetih podataka i slanje sloju poslovne logike
� Primanje rezultata od sloja poslovne logike
� Prezentacija dobijenih rezultata u formatu razumljivog
114
� Prezentacija dobijenih rezultata u formatu razumljivog za korisnika
� Čine ga: VB, HTML, DHTML, Win32 aplikacije, klijent-server
skriptovanje, java apleti, ActiveX kontrole, itd.Microsoft-a
Sloj poslovne logike Sloj poslovne logike -- DNADNA� Primanje podataka od prezentacionog sloja� Interakciju sa slojem za pristup podacima radi
procesiranja podataka� Slanje obrañenih informacija prezentacionom sloju� Obezbeñuje poslovna pravila i servise za pisanje
115
� Obezbeñuje poslovna pravila i servise za pisanje skalabilnih aplikacija .
� Čine ga:� Web servisi, Microsoft Internet Information Server-a (IIS)� Transakcionog i servisa komponenti, Microsoft Transaction
Server-a (MTS)� Asinhronih i servisa redova, Microsoft Message Queue
Server-a (MSMQ)� Serverskog skriptovanja, Active Server Pages (ASP)
Sloj pristupa podacima Sloj pristupa podacima -- DNADNA
� Interakcija sa podacima koji egzistiraju u bazi podataka kao što su SQL Server ili Oracle.
� Smeštanje, pronalaženje i održavanje podataka kao i integriteta podataka.
116
integriteta podataka.
� Pristup podacima preko Windows DNA naziva se “Universal Data Access”.
� UDA je skup modela sistemskog i aplikacionog nivoa zvanih OLE-DB (Object Linking and Embedding database),
ADO (ActiveX Data Object) i RDO (Remote Data Objects).
Prednosti Windows Prednosti Windows DNADNA
� Integrisana platforma za izgradnju aplikacija
� Podržava širok izbor programskih jezika i
integrisanih razvojnih alata. ( microsoft visual C++,
Microsoft Visal Basic, Microsoft Visal FoxPro ...)
117
Microsoft Visal Basic, Microsoft Visal FoxPro ...)
� Obezbeñuje visok nivo meñuoperativnosti sa
postojećim aplikacijama preduzeća i pravnim
sistemom.
� DCOM protokol koji omogućava komponentama
softvera da komuniciraju direktno preko mreže
Component Object Model+COM+
118
Istorijat COM+Istorijat COM+� 1992 razvijen OLE (Object Linking and Embedding)� 1995 nazvan COM (Component Object Model).� 1996 COM sa podrškom distribuiranog procesiranja i dobija ime
DCOM (Distibuted COM).� 1997 Transakcioni server Microsoft Distributed Transaction
Coordinator (MTDC) unapreñen u Microsoft Transaction Server
119
Coordinator (MTDC) unapreñen u Microsoft Transaction Server(MTS).
� 1997 razvijen Microsoft Message Queue Server (MSMQ).� 1999, Microsoft kombinuje sve razvijene servise u integrisano
runtime okruženje – COM+.
COM+ je integrisano okruženje koje programerima obezbeñuje pristup COM, MTS, MSMQ i drugim servisima.
Definicija COM+Definicija COM+
� COM+ je proširena verzija COM-a sa dve glavne razlike:� uključuje proširenu i nadgrañenu verziju MTS 3,� četiri glavna servisa uključujući
� MSMQ,
120
� MSMQ, � Load Balancing, � Event Services i � IMDB.
� Sve ove komponente i servisi rade zajedno radi obezbeñivanja integrisanih enterprise rešenja.
COM+ = COM + MTS (nadgra ñena verzija) + servisi
COM+ katalogCOM+ katalog
� Prethodne verzije Windows-a (pre Windows-a 2000)koristili su registry bazu za smeštanje informacija oCOM komponentama.
� Windows 2000 poseduje posebnu bazu za COM+komponente koja se naziva COM+ katalog.
121
komponente koja se naziva COM+ katalog.� COM+ katalog je aplikacija za interakciju programera
sa ovom bazom.� Preko COM+ kataloga možete postavljati željene
atribute za svaku od aplikacija.
COM+ katalogCOM+ katalog
122
Program kursa
� Karakteristike razvoja IS u distribuiranom okruženju
� Modeliranje sistema� Implementacija IS u distribuiranom okruženju
123
� Implementacija IS u distribuiranom okruženju� GOSTOVANJE FIRMI:
� ANTEGRA� ARIUS� ICTT
� Razvoj specifičnih IS u distribuiranom okruženju
top related