You are on page 1of 47

Operativni sistemi

10/08/15

Sadraj
Uvod
Potrebni uslovi za nastanak potpunog
zastoja
Graf dodele resursa
Primeri grafova
Spreavanje nastanka potpunog zastoja
Izbegavanje nastanka potpunog zastoja

10/08/15

Sadraj

- nastavak

Bezbedno stanje sistema


Bankarov algoritam
Detektovanje nastanka potpunog
zastoja i oporavak
Kombinovani pristup
Primeri pitanja

10/08/15

Primeri traenje posla


(deadlock) i saobraajna
Ne moete dobiti posao bez
guva
iskustva
Ne moete imati iskustvo bez
posla
zaguenje u saobraaju

10/08/15

Primer nastanka potpunog


zastoja
Semafori A i B su inicijalizovani na
vrednost 1
Procesi u sistemu P1 i P2

10/08/15

P1

P2

wait (A);
wait (B);

wait (B);
wait (A);

Primer nastanka potpunog


zastoja na mostu
Saobraaj preko mosta je mogu samo u jednom smeru
Svaki deo mosta se moe posmatrati kao resurs
Ako se pojavi potpuni zastoj, on se moe razreiti tako
to se auto vrati nazad (oslobodi resurs i vrati se u
prethodno stanje)
Moe se desiti da nekoliko automobila mora da se vrati
nazad radi razreenja potpunog zastoja
Gladovanje (starvation) je mogue

10/08/15

Tipovi resursa
Resursi sa ponovnim korienjem
(Reusable)

procesorsko vreme, glavna i


sekundarna memorija, semafori itd.

Potroni resursi (Consumable)

kreiraju se (proizvode) i unitavaju


(potroe) od strane procesa

10/08/15

prekidi, signali, poruke, informacije u


U/I baferima
7

Model raunarskog
sistema
Tipovi resursa datog raunarskog sistema
R1, R2, , Rm-1
Procesorsko vreme (CPU ciklusi), memorijski
prostor, U/I ureaji

Svaki resurs tipa Ri ima Wi instanci.


Svaki proces koristi resurs na sledei nain:
zahtev
korienje
oslobaanje

10/08/15

Vieprogramski rad
sistema
Procesi konkuriu jedan drugom za
resurse
Svaki od aktivnih procesa moe da
zahteva, koristi i oslobaa vie
resursa razliitog tipa i/ili vie
resursa istog tipa

10/08/15

Zahtev za resursom
Poziv operativnom sistemu koji
vodi evidenciju o
tipu,
broju i
zauzetosti resursa

i ukoliko je resurs slobodan dodeljuje


resurs
procesu na korienje.
10/08/15

10

Mogui ishodi nakon


zahteva procesa za
resursom
Resurs se dodeljuje procesu i on
se nalazi u stanju IZVRAVA - SE ili
u stanju SPREMAN
Ne postoje slobodni resursi
zahtevanog tipa i proces prelazi u
stanje EKA (prebacuje se u red
ekanja na zahtevani resurs).
10/08/15

11

Potrebni uslovi za
nastanak potpunog
1. Meusobno iskljuenje, to znai da u sistemu postoje nedeljivi
resursi, odnosno resursi koji u svakom vremenskom trenutku
zastoja
mogu biti dodeljeni samo jednom procesu na korienje.
2. Posedovanje i ekanje (hold-and-wait) znai da postoje procesi
koji poseduju bar jedan nedeljivi resurs i ekaju na druge
nedeljive resurse koje koriste drugi procesi.
3. Resursi se ne mogu oduzimati (no-preemption) to znai da se
resurs dodeljen nekom procesu ne moe oduzeti dok sam
proces, eksplicitno, ne oslobodi resurs.
4. Postoji kruno (ciklino) ekanje tako da postoji skup procesa
p0, p1,...,pn pri emu proces p0 eka na resurs koji dri proces
p1,..., proces pn eka na resurs koji dri proces p0.
10/08/15

12

Graf dodele resursa


Elementi grafa G (c,l):
vorovi koje ine procesi P = {P1,..., Pn},
simboliki prikazani krugovima i resursi R = {R1,...,
Rm} koji su na grafu prikazani pomou kvadrata,
pri emu broj taaka u kvadratu oznaava broj
komada posmatranog resursa i
lukovi, predstavljeni ureenim parovima koji mogu
biti zahtevi (pi, rj), odnosno dodela resursa (rj, pi).

10/08/15

13

Graf dodele resursa komponente


Proces

Tip resursa sa 4 instance


Pi zahteva instancu Rj
Pi poseduje instancu Rj

Pi

Pi
10/08/15

Rj

Rj
14

Znaenje simbola - primeri


R1

Resurs R1 je dodeljen
procesu P1

10/08/15

P1

P2

R2

Proces P2 eka dodelu resursa


R2

15

Potpuni zastoj
R1

R2
P1

P2

Zato je ovo potpuni


zastoj?

10/08/15

16

Potpuni zastoj primer


sistema
R2

P1

P2

R1

10/08/15

17

Primer grafa bez krunog


ekanja
R1

P1

R3

P2
R2

P3
R4

Koji procesi imaju dodeljene resurse, a koji ekaju za dodelu


resursa?
10/08/15

18

1. primer grafa sa krunim


ekanjem
R1

P1

R3

P2
R2

P3
R4

Koji procesi imaju dodeljene resurse, a koji ekaju za dodelu


resursa?
10/08/15

19

2. primer grafa sa krunim


ekanjem
R1

P1

R3

P2
R2

P3
R4

Koji procesi imaju dodeljene resurse, a koji ekaju za dodelu


resursa?
10/08/15

20

3. primer grafa sa krunim


ekanjem
R1

P1

P2

P3
R2
P4

Koji procesi imaju dodeljene resurse, a koji ekaju za dodelu


resursa?
10/08/15

21

Primer grafa sa krunim ekanjem kod


koga ne mora da doe do potpunog
zastoja

R1

P1

P2

P3

R2

P4

10/08/15

22

Primer memorijskog sistema


sa potpunim zastojem
P1
zauzima 160 KB
zahteva jo 120 KB

P2
zauzima 140 KB
zahteva jo 150 KB

100 KB

10/08/15

23

Vana pravila
Ako graf ne sadri kruno ekanje,
tada nema potpunog zastoja.
Ako graf sadri kruno ekanje tada
Ako je samo po jedna instanca po tipu
resursa tada sigurno dolazi do potpunog
zastoja
Ako ima vie instanci po tipu resursa
tada je mogu potpuni zastoj
10/08/15

24

Metode za upravljanje
potpunim zastojem
Obezbediti da sistem nikada ne ue u
stanje potpunog zastoja (spreiti ili izbei
nastanak potpunog zastoja)
Dozvoliti da sistem ue u stanje potpunog
zastoja, a zatim izvriti oporavak sistema
Ignorisati problem i pretpostaviti da
sistem nikada nee ui u stanje potpunog
zastoja; ovo se koristi kod veine
operativnih sistema ukljuujui UNIX
10/08/15

25

Spreavanje nastanka
potpunog zastoja
Spreavanje postojanja ispunjenosti
potrebnih uslova
Meusobno iskljuenje: u optem sluaju nije
mogue jer su neki resursi po prirodi nedeljivi
Posedovanje i ekanje: proces, u trenutku
kada trai neki resurs, ne sme posedovati
nijedan drugi resurs; proces mora da zahteva
sve resurse na poetku i svi mu se moraju
dodeliti pre poetka izvravanja

10/08/15

Slabo iskorienje resursa, mogue je gladovanje


26

Spreavanje nastanka
potpunog zastoja nastavak
Zabrana oduzimanja resursa: moe se

eliminisati, meutim to moe da dovede do


situacije da se proces kome je oduzet resurs
praktino nasilno prekida i njegovo izvravanje
mora da pone od poetka
Kruno ekanje: moe se eliminisati tako to
se resursi numeriu rednim brojevima i uvede
pravilo da proces moe da zahteva resurse
samo u rastuem redosledu njihovih rednih
brojeva

10/08/15

27

Izbegavanje nastanka
potpunog zastoja

Operativni sistem, zahteva a priori


informaciju od svakog procesa u pogledu
zahteva za resursima

Najjednostavniji model zahteva da svaki proces

deklarie maksimalni broj resursa svakog tipa koji mu


moe biti potreban (u toku ivotnog ciklusa procesa).
Algoritam izbegavanja potpunog zastoja dinamiki
proverava stanja dodele resursa kako bi utvrdio da ne
moe da nastane uslov krunog ekanja.
Stanje dodele resursa je definisano brojem raspoloivih
i dodeljenih resursa i maksimalnim zahtevima procesa.

10/08/15

28

Izbegavanje potpunog
zastoja
Svi potpuni zastoji su u nebezbednim stanjima, nisu sva nebezbedna
stanja potpuni zastoji.

NEBEZBEDNO
POTPUNI
ZASTOJ
Samo sa sreom e
procesi izbei
potpuni zastoj.

10/08/15

BEZBEDNO

O.S. moe da izbegne


potpuni zastoj.

29

Bezbedno stanje
Kada proces zahteva raspoloiv resurs, sistem mora da
odlui da li ta dodela zadrava sistem u bezbednom
stanju.
Sistem je u bezbednom stanju ako postoji bezbedna
sekvenca za sve procese.
Sekvenca <P1, P2, , Pn> je bezbedna ako za svaki Pi,
resursi koje Pi moe jo da zahteva mogu da budu
dodeljeni pomou trenutno raspoloivih resursa i resursa
koje poseduju svi Pj, gde je j < i.

Ako potrebni resursi nisu odmah raspoloivi, tada


sistem moe da saeka dok se ostali procesi ne
zavre.

10/08/15

30

Izbegavanje potpunog zastoja primer

Pretpostavimo da svaki proces deklarie svoje maksimalne potrebe. Na taj


nain se obezbeuje da sistem nee prei u neko nebezbedno stanje.
PRIMER:
Postoji ukupno 12 resursa istog tipa i 3 procesa p0, p1 i p2. Trenutno
stanje izgleda ovako:
Postoje 3 slobodna resursa i
sisem je u bezbednom stanju.
U ovom primeru, < p1, p0, p2 >
je sekvenca koja radi.
Ako se procesu p2 dodeli jo
jedan resurs na poetku sistem
prelazi u nebezbedno stanje.
10/08/15

Proces

Max
potrebe

Dodeljen
o

Trenutn
e
potrebe

P0

10

P1

P2

31

Bankarov algoritam
Jedan od poznatih algoritama koji se
koristi za proveru da sistem i nakon
dodele resursa ostaje u bezbednom
stanju.
Banka nikada ne ulae raspoloivu
koliinu novca na takav nain da ne
moe da zadovolji svoje komitente.

10/08/15

32

Bankarov algoritam nastavak


1
Pretpostavlja se da u raunarskom
sistemu postoji vie primeraka istog
resursa
Svaki proces mora a priori (prilikom
aktiviranja) da prijavi tip i maksimalni broj
resursa koje koristi.
Kada proces zahteva resurs moe se
desiti da mora da saeka.
Kada proces dobije sve traene resurse,
tada ih mora vratiti u konanom vremenu.
10/08/15

33

Bankarov algoritam nastavak


2
Pri svakom zahtevu za dodelu resursa u
toku izvravanja procesa, sistem, koristei
Bankarov algoritam, proverava da li e
posle dodele ostati u bezbednom stanju.
Ukoliko sistem i nakon dodele resursa
ostaje u bezbednom stanju, procesu se
dodeljuje resurs, a u suprotnom se zahtev
odbija i proces se smeta u red ekanja na
resurs.
10/08/15

34

Strukture podataka za
Bankarov algoritam
Neka je n = broj procesa i m = broj tipova resursa.

Raspoloivo: Vektor duine m. Ako je Available[j]


= k, tada je raspoloivo k instanci resursa tipa Rj .
Max: n x m matrica. Ako je Max[i, j] = k, tada
proces Pi moe da zahteva najvie k instanci
resursa tipa Rj.
Dodela: n x m matrica. Ako je Dodela[i, j] = k,
tada je procesu Pi trenutno dodeljeno k instanci
od Rj.
Potrebe: n x m matrica. Ako je Need[i, j] = k,
tada procesu Pi moe biti potrebno k dodatnih
10/08/15
35
instanci od Rj radi zavretka posla.

Primer:
Sistem raspolae sa 12 primeraka jednog resursa. Trenutno
su aktivna tri procesa sa sledeim stanjem prikazanim u
tabeli 9.1:
U posmatranom trenutku postoje jo tri slobodna primerka
resursa i sistem je u bezbednom stanju, to znai da postoji
takav redosled dodele resursa koji garantuje da e se sva tri
procesa izvriti. Naime, redosled dodeljivanja prvo P2, zatim
P1 i na kraju P3, garantuje zavretak sva tri procesa jer:

10/08/15

Proces

Max. zahteva

Trenutno dodeljeno

P1

10

P2

P3

36

Primer - nastavak
proces P2: (i) dobija 2 primerka (jedan ostaje slobodan) i
(ii) zavrava sa radom i oslobaa 4 primerka
(ostaje pet slobodnih)
proces P1: (i) dobija svih pet primeraka (nema vie
slobodnih) i
(ii) zavrava se radom i oslobaa 10
primeraka
proces P3 : (i) dobija sedam primeraka (tri ostaju
slobodna) i
(ii) zavrava sa radom i oslobaa sve resurse.
10/08/15

37

Stanje sistema nakon


pogrene dodele resursa
Proces

Max. zahteva

Trenutno dodeljeno

P1

10

P2

P3

10/08/15

38

Vana pravila
Ako je sistem u bezbednom stanju
nema potpunog zastoja
Ako sistem nije u bezbednom
stanju mogu je potpuni zastoj
Izbegavanje potpunog zastoja
obezbediti da sistem ne pree u
stanje koje nije bezbedno.
10/08/15

39

Detektovanje potpunog
zastoja
Omoguiti da sistem ue u stanje
potpunog zastoja
Algoritam za detekciju potpunog
zastoja
Potrebna je ema za oporavak
sistema

10/08/15

40

Jedna instanca za svaki tip


resursa
Odravati graf ekanja (wait-for graph)
vorovi su procesi.
Pi Pj ako Pi eka da Pj oslobodi neki
resurs Rk
Periodino pozivati algoritam koji trai da
li postoji kruno ekanje u grafu.
Algoritam za detekciju krunog ekanja u
grafu zahteva red veliine n2 operacija,
gde je n broj vorova grafa.
10/08/15

41

Algoritam za detektovanje
potpunog zastoja
P0

R1
P1

P0
R2

P2

R3

P1

P3
R4

P4
GrafAllocation
dodele resursa
Resource
Graph
10/08/15

P2

P3

P4
Graf
ekanjaGraph
(Wait-For
Wait-For
graph)
42

Oporavak sistema iz stanja


potpunog zastoja zavretak
procesa
Mogu se obrisati (zavriti) svi procesi koji

su u potpunom zastoju to je skupo


Mogu se brisati (zavriti) jedan po jedan
proces dok se ne izae iz stanja potpunog
zastoja (vremenski zahtevno)
Izbor se moe vriti po prioritetu, vremenu
izvravanja, potrebnom vremenu za
zavretak rada, potrebama za resursima do
zavretka rada itd.
U optem sluaju lake je oduzeti resurs,
nego zavriti proces u cilju oporavka
sistema.

10/08/15

43

Oporavak sistema iz stanja


potpunog zastoja - oduzimanje
resursa
Izbor rtve (koji proces prekinuti i

koji resurs oduzeti) minimiziranje


cene.
Rollback vraanje u bezbedno
stanje i u tom stanju ponovno
startovanje procesa, kome je resurs
oduzet.
Gladovanje isti proces moe
uvek biti izabran kao rtva; ukljuiti
broj rollback-ova u faktor cene.

10/08/15

44

Kombinovani pristup
Kombinovanje tri osnovna pristupa
Spreavanje
Izbegavanje
Detektovanje potpunog zastoja
omoguava korienje optimalnog pristupa za
svaku
klasu resursa u sistemu

Deljenje resursa u hijerarhijski ureene


klase
Koristiti najpodesniju tehniku za upravljanje
potpunim zastojem unutar svake klase
10/08/15

45

Primeri pitanja
Dat je sistem koji se sastoji od pet
procesa koji dele est resursa istog tipa
i gde su svakom procesu potrebna
najvie dva resursa. Pokazati da sistem
ne moe doi u stanje potpunog zastoja.
Objasniti strategije spreavanja i
izbegavanja potpunog zastoja.

10/08/15

46

Primeri pitanja nastavak


1
Objasniti nain rada Bankarovog
algoritma.
Kako se formira graf ekanja i objasniti
njegovu namenu.
Objasniti kako se koristi kombinovani
pristup u reavanju problema potpunog
zastoja.
10/08/15

47

You might also like