3 dan - drs · distribuirani operativni sistemi 8 kooperativni nezavisni sistemi. centralizovani...

Post on 15-Oct-2019

39 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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