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

123
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

Upload: others

Post on 15-Oct-2019

39 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 2: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Implementacija IS u distribuiranom okruženju

� Višeslojna arhitekturaDistribuirani računarski sistemi

2

� Distribuirani računarski sistemi� UNIX, WINDOWS 2000, COM +

Page 3: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Implementacija- troslojna arhitektura

KLIJENT

(Prezentacioni sloj) • korisni čki interfejs

3

POSLOVNI SLOJ

APLIKACIONI SERVER

IZVORI PODATAKA

• aplikaciona logika

• upravljanje podacima

Page 4: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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.

Page 5: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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.

Page 6: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 7: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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+

Page 8: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Razvoj Razvoj ooperativnih perativnih ssistemaistema

� Centralizovani operativni sistemi

� Mrežni operativni sistemi

� Distribuirani operativni sistemi

8

� Distribuirani operativni sistemi

� Kooperativni nezavisni sistemi

Page 9: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Centralizovani operativni sistemiCentralizovani operativni sistemi

� Vertikalno raslojavanje

� Horizontalno raslojavanje

� Kernel (nucleus)

9

� Kernel (nucleus)

� Minimalni kernel

� Mikrokernel

Page 10: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 11: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 12: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 13: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 14: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 15: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 16: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 17: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 18: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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)

Page 19: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 20: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 21: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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.

Page 22: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 23: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Konkurentni procesiKonkurentni procesi

� Sekvencijalni procesi� Upravljanje jednom niti

� Konkurentni procesi

23

� razdvojeni procesi

� koordinacija konkurentnih procesa

� Upravljanje višestrukim nitima

Page 24: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 25: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 26: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 27: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 28: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 29: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 30: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

KlijentKlijent--Server ModelServer ModelInteligentni

Klijent Internet

BrowserBrowserClient

N-nivojskaarhitektura

PresentationPresentation

InteligentniServer

30

PresentationPresentation

Business

Data

PresentationPresentation

Business

Data

ClientPresentationPresentation

Business

Data

Business

Data

PresentationPresentation

Page 31: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Servisi operativnih sistemaServisi operativnih sistema

31

Page 32: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 33: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Prednosti distribuiranih sistemaPrednosti distribuiranih sistema

� Deljenje resursa

� Raspodela procesorskog opterećenja

� Poboljšanje pouzdanosti pri otkazu dela sistema

33

Page 34: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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)

Page 35: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Zahtevi projektovanja DCE servisaZahtevi projektovanja DCE servisa

� Transparentnost� Fleksibilnost� Pouzdanost� Performanse

35

� Performanse� Distribuirani algoritmi � Modeliranje klijenata i servera prema

potrebama aplikacija

Page 36: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Modeli sistemaModeli sistema

� Model radne stanice� radna stanica-server model (klijent-server)

� Processor poll model� Hibridni model

36

� Hibridni model

Page 37: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 38: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 39: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 40: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 41: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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)

Page 42: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 43: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 44: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Meñuprocesna komunikacijaMeñuprocesna komunikacija

44

Page 45: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 46: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 47: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 48: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 49: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 50: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

“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

Page 51: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

“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

Page 52: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 53: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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)

Page 54: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Meñuprocesna Meñuprocesna kkoordinacijaoordinacija

54

Page 55: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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)

Page 56: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 57: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Distribuirana meñusobna isključenja

o Lamport-ovi Algoritmio Ricart i Algrawar-ov algoritamo Algoritmi zasnovani na glasanju

57

Page 58: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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)

Page 59: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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)

Page 60: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 61: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 62: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 63: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Rasporeñivanje distribuiranih procesaRasporeñivanje distribuiranih procesa

63

Page 64: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 65: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 66: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 67: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 68: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 69: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 70: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 71: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 72: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 73: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 74: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 75: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

DisDisttribuirani ribuirani ffajajl sl siistemstemii

75

Page 76: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 77: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

DistribuirDistribuiraani fajl sistemini fajl sistemi

� Uloga fajl sistema

� Koncepti distribuiranih sistema� transparentnost

77

� servis imena

� keširanje i replikacija

� sigurnost

Page 78: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Aspekti DFS-a

� Distribuirani klijenti

� Distribuirane datoteke

� Paraleno korišćenje podataka od strane

78

više korisnika

� Ostali� tolerancija greške, skalabilnost, heterogenost

Page 79: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Organizacija fajl sistemaOrganizacija fajl sistema

� Funkcionalna organizacija� servis direktorijuma

� servis autorizacije

fajl servis

79

� fajl servis

� sistemski servisi

Page 80: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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”

Page 81: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

KeširanjeKeširanje

� Vrste keširanja na klijentu� kroz � unazad� po zatvaranju

81

� po zatvaranju

Page 82: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Replikacija fajlovaReplikacija fajlova

� Glavni razlozi:� Obezbeñenje pouzdanosti

� Poboljšanje dostupnosti

Povećane performanse

82

� Povećane performanse

Page 83: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

DDistribuirana deljena memorijaistribuirana deljena memorija

83

Page 84: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 85: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Arhitektura distribuirane Arhitektura distribuirane deljene memorije (DSM)deljene memorije (DSM)

LOKALNA

MREŽA KOMUNIKACIJA

• LOKALNI PRISTUP

• DALJINSKI PRISTUP

85

PROCESORI

LOKALNA MEMORIJA

Page 86: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 87: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 88: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 89: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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.

Page 90: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 91: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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”

Page 92: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 93: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Direktno kontaktiranjeDirektno kontaktiranje

BLOCKcurrentowner

BLOCKMogući vlasnik

BLOCKcurrentowner

BLOCKcurrentowner

PRETHODNI VLASNICI TRENUTNI VLASNIK

BLOCKMogući vlasnik

BLOCKMogući vlasnik

93

BLOCKTrenutni vlasnik

Page 94: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

UnixUnix

94

Page 95: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 96: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 97: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Osnovni konceptiOsnovni koncepti UnixUnix--aa

� Procesi

� adresni prostor

� kontrolna nit

97

� Fajl sistem

� Meñuprocesni komunikacioni mehanizmi

Page 98: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 99: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 100: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 101: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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)

Page 102: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 103: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 104: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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, …)

Page 105: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 106: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Mrežna komunikacijaMrežna komunikacija

� TCP/IP protokol

� Implementirana apstrakcijom socket-a

� Šire korišćenje počinje od 4.2BSD verzije

106

Unix-a

Page 107: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 108: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

WINDOWS 2000

108

Page 109: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 110: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 111: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 112: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 113: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 114: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 115: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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)

Page 116: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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).

Page 117: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 118: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

Component Object Model+COM+

118

Page 119: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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.

Page 120: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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

Page 121: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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.

Page 122: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

COM+ katalogCOM+ katalog

122

Page 123: 3 dan - DRS · Distribuirani operativni sistemi 8 Kooperativni nezavisni sistemi. Centralizovani operativni sistemi Vertikalno raslojavanje Horizontalno raslojavanje Kernel (nucleus)

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