05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

60
7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 1/60 OPERATIVNI SISTEMI 1 Procesi i niti 2 - komunikacija između procesa

Transcript of 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

Page 1: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 1/60

OPERATIVNI SISTEMI 1Procesi i niti 2 - komunikacija između procesa

Page 2: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 2/60

omunikacija između procesa

osno!ni pro"#emi ko$ komunikacije među procesima% – pros#jeđi!anje poruka između raz#i&iti' procesa(

 – inter)erencija između procesa(

 – re$os#ije$ iz!r*a!anja konkurentni' procesa+

● $ru,i i trei pro"#em se mo,u posmatrati i na ni!oupro,ramski' niti(

pros#jeđi!anje poruka između niti je je$nosta!nije( jer sera$i o istom a$resnom prostoru

Page 3: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 3/60

omunikacija između procesa - race conditions

pro"#emi us#je$ para#e#no, iz!r*a!anja "ez sin'ronizacije(

● primjer% unutra*nja memorijska struktura u koju sezapisuju nazi!i $okumenata za *tampu(

● ako struktura sa$r.i po#je za ime i po#je koje o$ređujes#je$ei s#o"o$an s#ot( o"a po#ja moraju "iti a.urirana uistom pro#azu(

● u proti!nom mo.e $oi $o ,u"itka konzistentnosti

Page 4: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 4/60

omunikacija između procesa - race conditionsProces A /s#o"o$an0s#ot1

Proces 3 /s#o"o$an0s#ot1

Proces 3 /s#o"o$an0s#ot2

Proces 3 /s#o"o$an0s#ot1

 Ako proces A za!r*i upis ispra!noProces A /s#o"o$an0s#ot2

 Ako proces A iz,u"i procesorsko !rijemeprije za!r*etka upisa

Proces A /s#o"o$an0s#ot2(nea.urirano

Page 5: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 5/60

omunikacija između procesa - race conditions

u s#u&aju pret'o$no, primjera( sa$r.aj memorije jekonzistentan( sistem nasta!#ja $a se iz!r*a!a(

● $o#azi $o ,u"itka po$ataka na strani neko, o$ korisnika(

● te'nike iz"je,a!anja pro"#ema sin'ronizacije se zasni!ajuna u!ođenju međuso"no, isk#ju&i!anja(

● međuso"no isk#ju&i!anje /MUTua# Exc#usionpo$razumije!a postojanje $ije#a ko$a i#i po$ataka kojimanije $oz!o#jen konkurentan pristup

Page 6: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 6/60

omunikacija između procesa - kriti&na sekcija●

kriti&na sekcija je $io pro,ramsko, ko$a kojem nije$oz!o#jen konkurentan pristup o$ strane !i*e pro,ramski'niti i#i procesa(

● to je $io pro,rama u kojem se pristupa $ije#jenoj memoriji(

postojanje kriti&ne sekcije samo po se"i nije $o!o#jno zae)ikasnu komunikaciju između procesa

● $o"ro rje*enje ispunja!a s#je$ee us#o!e%

 – unutar kriti&ne sekcije u "i#o kojem trenutku se mo.e nai samo je$an

proces( – samo procesi koji su zaintereso!ani za u#azak u kriti&nu sekciju o$#u&uju o

tome ko s#je$ei $o"ija pristup kriti&noj sekciji+ O!a o$#uka se mora $onijetiu kona&nom !remenu(

 – proces koji se ne na#azi u kriti&noj sekciji ne mo.e "#okirati $ru,e procese(

 – !rijeme &ekanja na u#azak u kriti&nu sekciju za proces koji je uputio taka!za'tje! mora "iti kona&no+

Page 7: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 7/60

Imp#ementacije međuso"no, isk#ju&i!anja

onemo,ua!anje preki$a – najje$nosta!nija te'nika za je$noprocesorske sisteme(

 – onemo,ua!aju se preki$i za proces koji je u kriti&noj sekciji(

 – to isk#ju&uje mo,unost o$uzimanja procesora pri norma#nom

isteku procesorsko, !remena( – ne preporu&uje se(

 – nije $o"ra praksa omo,uiti je$nom procesu isk#ju&i!anje preki$a/si,urnosni pro"#emi(

 –

ko$ !i*eprocesorski' sistema )unkcioni*e samo na akti!nomprocesoru /na onom koji iz!r*a!a ko$ za onemo,ua!anjepreki$a(

 – nema ,arancija $a e preki$i ika$ "iti pono!o uk#ju&eni+

Page 8: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 8/60

Imp#ementacije međuso"no, isk#ju&i!anja

upotre"a zaje$ni&ki' promjen#ji!i' za zak#ju&a!anje – kreiranje zaje$ni&ke promjen#ji!e koja pokazuje $a #i je kriti&na

sekcija s#o"o$na(

 – s!aki proces i#i nit akti!no pro!jera!a stanje o!e promjenji!e prijeu#aska u kriti&nu sekciju(

 – proces koji $etektuje o$,o!arajuu !rije$nost mo.e ui u kriti&nusekciju(

 –  je$nosta!na imp#ementacija ko$ niti /z"o, zaje$ni&ke memorije(

 – pro"#em je mo,unost nastajanja race condition-a /s#i&no kao ko$

primjera sa upisom nazi!a $atoteke za *tampu+

Page 9: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 9/60

Imp#ementacije međuso"no, isk#ju&i!anja

Petersono! a#,oritam – pro*irenje pret'o$no, koncepta(

bool flag[0] = false;

bool flag[1] = false;

int red;  flag[0] = true;

 red = 1;

  while (flag[1] && red == 1); // čeka na proces 1

  // kritična sekcia

  !!!

  // kra kritične sekcie

  flag[0] = false;

 – e#imini*e race condition z"o, postojanja niza /flag  koji pokazuje$a je neki proces zaintereso!an za pristup kriti&noj sekciji

Page 10: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 10/60

Imp#ementacije međuso"no, isk#ju&i!anja

'ar$!erska imp#ementacija – pristup s#i&an kori*tenju zaje$ni&ke !arija"#e( a#i na ni!ou

procesora(

 – poje$ini procesori imaju namjenske instrukcije za zak#ju&a!anjeu#aza u kriti&nu sekciju(

 – )unkcioni*e i u s#u&aju !i*eprocesorski' sistema

Page 11: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 11/60

Imp#ementacije međuso"no, isk#ju&i!anja

a#,oritmi sa akti!nim &ekanjem /zaje$ni&ke !arija"#e(Petersono! a#,oritam i 'ar$!erska imp#ementacijapo$razumije!aju $a se procesi koji nisu u kriti&noj sekcijina#aze u pet#ji(

u s#u&aju procesa sa raz#i&itim prioritetima mo.e $oi $opro"#ema in!erzije prioriteta /ako proces sa !i*imprioritetom &eka na os#o"ađanje kriti&ne sekcije(

● a#ternati!a su a#,oritmi koji uk#ju&uju "#okiranje procesa(

● sleep/wakeup,● pro"#em proiz!ođa&4potro*a&

Page 12: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 12/60

Imp#ementacije međuso"no, isk#ju&i!anja

M5TE6 zak#ju&a!anje /MUTEX lock ( – M5TE6 M5Tua# E7c#usion(

 – zaje$ni&ki o"jekat koji omo,ua!a sin'ronizaciju(

 – naj&e*e sa$r.i #o,i&ku promjen#ji!u koja pokazuje $a #i je

$ostupan( – proces koji u#azi u kriti&nu sekciju pr!o poku*a!a zak#ju&ati

M5TE6( ako je s#o"o$an(

 – ako M5TE6 nije s#o"o$an( proces je "#okiran(

 –

ako M5TE6 jeste s#o"o$an( proces ,a zak#ju&a!a i u#azi u kriti&nusekciju(

 – s!i pro,ramski jezici imaju u,rađene )unkcije kojima suimp#ementirane M5TE6 )unkciona#nosti+

Page 13: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 13/60

Imp#ementacije međuso"no, isk#ju&i!anja●

sema)or( – cje#o"rojna promjen#ji!a koji pokazuje $ostupnost resursa i#i

kriti&ne sekcije(

 – sema)orom se upra!#ja preko meto$a 8ait/ i si,na#/ /u #iteraturi

ozna&eni i sa P/ - proberentestirati i V/ - verhogenu!eati( – $e)inicije%

   wait(") #

while (" $= 0 ); // čeka

"%%;

  signal(") #

"'';

Page 14: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 14/60

Imp#ementacije međuso"no, isk#ju&i!anja●

sema)or( – operacije koje ra$e sa S moraju "iti atomi&ne /ne$je#ji!e(

 – u s#u&aju $a sema)or ima samo 2 stanja /"inarni sema)or( $o"ijese MUTEX lock,

 – u tipi&noj imp#ementaciji( sema)or se inicija#izuje "rojem $ostupni'resursa(

 – s!aki proces koji koristi resurs pr!o pozi!a 8ait/( umanjujui!rije$nost sema)ora(

 – ako je S9:( zna&i $a je makar je$na instanca $ostupna( – re$os#ije$ pozi!a je !r#o "itan( u proti!nom mo.e $oi $o

pro"#ema u iz!r*a!anju

Page 15: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 15/60

Imp#ementacije međuso"no, isk#ju&i!anja●

sema)or - primjer( – procesi P1 i P2 imaju )unkcije S1 i S2(

 – )unkcija S2 se mo.e iz!r*iti tek nakon za!r*etka )unkcije S1(

 – pro"#em se mo.e rije*iti u!ođenjem sema)ora koji ima inicija#nu

!rije$nost :(  // u procesu 1

"1;

signal(seafor);

  // u procesu *

wait(seafor);

"*;

Page 16: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 16/60

Imp#ementacije međuso"no, isk#ju&i!anja

monitor( – pro"#emi koji mo,u nastati sa sema)orima su pos#je$ica

re$os#ije$a pozi!anja i simu#tano, pristupa sema)oru(

 – mo,u nastati izosta!#janjem i#i zamjenom si,na#/ i 8ait/ pozi!a(

 –

o!i pro"#emi se te*ko otkri!aju jer se poja!#juju samo u o$ređenims#u&aje!ima i ne mo,u se pre$!i$jeti /z"o, nemo,unostipre$!iđanja re$os#ije$a i trajanja iz!r*a!anja procesa(

 – monitor je !i*a jezi&ka konstrukcija koja u,rađuje sin'ronizaciju usam pro,ramski jezik(

 – pro,ramski jezik mora imati imp#ementaciju monitora( – ; pro,ramski jezik nema u,rađenu imp#ementaciju(

 – <a!a po$r.a!a upotre"u monitora kroz k#ju&nu rije&synchronized  i inter)ejs Lock +

Page 17: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 17/60

Imp#ementacije međuso"no, isk#ju&i!anja

monitor( – meto$a 8ait/ ko$ monitora suspen$uje proces koji pozi!a tu

meto$u i pre"acuje ,a u stanje &ekanja(

 –

meto$a si,na#/ akti!ira je$an o$ procesa koji &ekaju(

 – ako nema procesa koji &ekaju( meto$a si,na#/ nema e)ekta(

 – ko$ sema)ora je meto$a si,na#/ u!ijek utica#a na stanjesema)ora( "ez o"zira na trenutnu situaciju(

 – u <a!i imp#ementirano preko meto$a 8ait/( noti)=/ i noti)=A##/

Page 18: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 18/60

Imp#ementacije međuso"no, isk#ju&i!anja

monitor( – u za!isnosti o$ stanja u koje procesi pre#aze pozi!om meto$e

si,na#/( postoje $!a pristupa u imp#ementaciji%

signal and wait - proces koji pozi!a si,na#/ se zausta!#ja i&eka $a proces koji je akti!iran izađe iz monitora(

● signal and continue - proces koji je $o"io si,na# zaakti!iranje &eka $ok proces koji je iz!r*io si,na#izaciju napusti

monitor( pa se tek on$a iz!r*a!a

Page 19: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 19/60

Imp#ementacije međuso"no, isk#ju&i!anja

s#anje poruka( – o!ak!i sistemi uk#ju&uju me'anizam pros#jeđi!anja poruka između

$!a i#i !i*e procesa(

 – proces se akti!ira po prijemu o$,o!arajue poruke(

 –

uko#iko nema poruke proces pre#azi u stanje "#okiranja( – potencija#ni pro"#em je ,u"itak poruka(

 – u!o$i se me'anizam pot!rđi!anja(

 – retransmisija i $up#e poruke(

 – pro"#emi sa s#anjem i prijemom poruka se rje*a!aju u!ođenjemre$ni' "roje!a na s#i&an na&in kao ko$ ra&unarski' mre.a(

 – OpenMP "i"#ioteka

Page 20: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 20/60

Imp#ementacije međuso"no, isk#ju&i!anja

"arijera( – koncept sin'ronizacije koji se u,#a!nom koristi ko$ upra!#janja

,rupama procesa(

 –

po$razumije!a $e)inisanje kriti&ne sekcije /"arijere koju nakiproces mo.e prei tek ka$ s!i procesi iz ,rupe $ođu $o te"arijere(

 – proces koji $ođe $o "arijere pre#azi u stanje "#okiranja $ok se ne

ispuni na!e$eni us#o!+

Page 21: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 21/60

Raspoređi!anje

a#,oritam kojim se !r*i $o$je#a procesorsko, !remenaraz#i&itim procesima(

● potre"an je u s!im situacijama u kojim se !i*e procesana#azi u REA! )azi(

!eina a#,oritama je u istom o"#iku primjenji!a i na niti(● a#,oritmi imaju pose"an zna&aj( jer je proce$ura promjene

konteksta skupa( pa je "itno e)ikasno iskoristitiprocesorske resurse(

a#,oritam mora uzeti u o"zir i tip procesa u smis#u potre"eza raz#i&itim resursima /!ea potre"a za procesorskim!remenom u o$nosu na !eu potre"u za 54I operacijama(

● raspoređi!anje se ,ra)i&ki prikazuje >anto!om />antt

kartom

Page 22: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 22/60

Raspoređi!anje - na&ini ra$a

na&ini ra$a a#,oritama za raspoređi!anje% – algoritmi sa pretpražnjenjem / preemptive - proces

koji je zapo&eo iz!r*a!anje mo.e "iti prekinut prijeza!r*etka ako postoji $ru,i proces !i*e, prioriteta koji

 je spreman(

 – algoritmi bez pretpražnjenja /non-preemptive -proces koji je zapo&eo iz!r*a!anje e "iti za!r*en( "ez

o"zira na osta#e procese koji se na#aze u re$u &ekanjai nji'o!e )aze+

Page 23: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 23/60

Raspoređi!anje - kate,orije● kate,orije a#,oritama za raspoređi!anje u za!isnosti o$ okru.enja%

 – batch algoritmi - a#,oritmi koji se iz!r*a!aju u okru.enjima ukojima "rz o$,o!or sistema ne i,ra !e#iku u#o,u /sistemi zastatisti&ke o"ra$e i ra$ sa !e#ikim ko#i&inama po$ataka it$++5,#a!nom ra$e "ez pretpra.njenja i#i sa $u,im !remenom

iz!r*a!anja( – interaktivni algoritmi - a#,oritmi koji pru.aju korisnicima

mo,unost iz!r*a!anja pro,rama na za'tje!+ Ra$e sapretpra.njenjem( kako "i raz#i&iti korisnici /procesi $o"i#i s!oj$io procesorsko, !remena(

 – algoritmi za rad u realnom vremenu - a#,oritmi koji se koristeko$ sistema ko$ koji' je "itna "rza reakcija+ ?esto ra$e "ezpretpra.njenja( jer su pisani namjenski i iz!r*a!aju ta&noo$ređene procese za koje se mo.e pre$!i$jeti trajanje /neiz!r*a!aju interakti!ne /nepre$!i$i!e korisni&ke za'tje!e+

Page 24: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 24/60

Raspoređi!anje - ci#je!i

za s!e sisteme% – ra!nopra!nost /fairness - s!aki proces $o"ija

ra!nopra!an $io procesorsko, !remena(

 – pro!ođenje po#itike - $o$je#a !remena u sk#a$u sa

$e)inisanim pra!i#ima( – "a#ans - s!i $ije#o!i sistema tre"a $a "u$u zapos#eni(

● za batch sisteme%

 – propusnost /throughput  - *to !ei "roj za$ataka u je$inici

!remena( – !rijeme komp#etiranja /turnaround ti"e - *to krae

!rijeme između kreiranja procesa i za!r*etka(

 – iskori*tenje procesora - procesor tre"a "iti maksima#no

iskori*ten u s!akom trenutku

Page 25: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 25/60

Raspoređi!anje - ci#je!i

za interakti!ne sisteme% – !rijeme o$zi!a - *to krae !rijeme reakcije na korisni&ki

za'tje!(

 – proporciona#nost - iz!r*a!anje u sk#a$u sa korisni&kim

o&eki!anjima(● za sisteme za ra$ u rea#nom !remenu%

 – ispunja!anje roko!a - sprije&iti ,u"itak po$ataka(

 –

pre$ikta"i#nost - mo,unost pre$!iđanja !remenaiz!r*a!anja /pose"no "itno u mu#time$ija#nimsistemima

Page 26: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 26/60

First Come, First Served (FCFS – najje$nosta!niji a#,oritam(

 – procesi se iz!r*a!aju onim re$om kojim $o#aze nasistem(

 – Primjer% @ procesa sa !remenom iz!r*a!anja 2 ms( @ms i @ ms( s!i sti.u na iz!r*a!anje u trenutku t:

Raspoređi!anje na batch sistemima

Vremena &ekanja%t8

/P1 :

t8 /P2 2t8

/P@ 2B

Sre$nje !rijeme &ekanja%t8/:C2C2B4@1B ms

Page 27: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 27/60

First Come, First Served (FCFS – najje$nosta!niji a#,oritam(

 – procesi se iz!r*a!aju onim re$om kojim $o#aze nasistem(

 – Primjer% @ procesa sa !remenom iz!r*a!anja 2 ms( @ms i @ ms( s!i sti.u na iz!r*a!anje u trenutku t:

Raspoređi!anje na batch sistemima

Vremena komp#etiranja%tc/P1 2

tc /P2 2Btc/P@ @:

Sre$nje !rijeme komp#etiranja%tc/2C2BC@:4@2B ms

Page 28: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 28/60

First Come, First Served (FCFS – sre$nje !rijeme &ekanja za!isi u !e#ikoj mjeri o$

re$os#ije$a $o#aska procesa na iz!r*a!anje(

 – ako se procesi iz pret'o$no, primjera raspore$e u

re$os#ije$u% P2( P@( P1

Raspoređi!anje na batch sistemima

Vremena &ekanja%t8

/P1 D

t8 /P2 :t8

/P@ @

Sre$nje !rijeme &ekanja%t8/DC:C@4@@ ms

Page 29: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 29/60

First Come, First Served (FCFS – sre$nje !rijeme &ekanja za!isi u !e#ikoj mjeri o$

re$os#ije$a $o#aska procesa na iz!r*a!anje(

 – ako se procesi iz pret'o$no, primjera raspore$e u

re$os#ije$u% P2( P@( P1

Raspoređi!anje na batch sistemima

Vremena komp#etiranja%tc/P1 @:

tc

/P2 @

tc/P@ D

Sre$nje !rijeme komp#etiranja%tc/@:C@CD4@1@ ms

Page 30: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 30/60

● S!ortest "ob First (S"F

 – procesi se iz!r*a!aju u za!isnosti o$ ukupno, !remenakoje im je potre"no za iz!r*a!anje /#$U burst ti"e(

 – na procese sa istim !remenom iz!r*a!anja se primjenjuje;S(

 – mo,ue je iz!r*iti procjenu preosta#o, !remena ako ononije poznato(

 – potre"a za pozna!anjem !remena iz!r*a!anja o,rani&a!amo,unost imp#ementacije(

 – raz#ikuju se !erzije sa pretpra.njenjem i "ez pretpra.njenja(

 – !erzija sa pretpra.njenjem se nazi!a i ShortestRemaining Time First  /SRTF  i spa$a u algoritme nainteraktivnim sistemima

Raspoređi!anje na batch sistemima

Page 31: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 31/60

S!ortest "ob First (S"F bez pretpražnjenja

F Vremena &ekanja%

t8/P1 :(t8/P2 G - 2 D(

t8/P@ B H @(t8/P 12 H B

F Sre$nje !rijeme &ekanja

t8  /:CDC@CB4 ms

Raspoređi!anje na batch sistemima

#ro$es %rijeme dolaska u sistem %rijeme izvr&avanja

P1 : B

P2 2

P@ 1

P

Page 32: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 32/60

S!ortest "ob First (S"F bez pretpražnjenja

F Vremena potre"na za komp#etiranje%

tc/P1 :CB(

tc/P2 12 - 2 1:(

tc

/P@ G H (tc/P 1D H 11

F Sre$nje !rijeme komp#etiranja

tc  /BC1:CC114 G ms

Raspoređi!anje na batch sistemima

#ro$es %rijeme dolaska u sistem %rijeme izvr&avanja

P1 : B

P2 2

P@ 1

P

Page 33: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 33/60

S!ortest "ob First (S"F sa pretpražnjenjem

F Vremena &ekanja%

t8/P1 J(t8/P2 1(

t8/P@ :(t8/P 2

F Sre$nje !rijeme &ekanja

t8  /JC1C:C24 @ ms

Raspoređi!anje na interakti!nim sistemima

#ro$es %rijeme dolaska u sistem %rijeme izvr&avanja

P1 : B

P2 2

P@ 1

P

Page 34: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 34/60

S!ortest "ob First (S"F sa pretpražnjenjem

F Vremena potre"na za komp#etiranje%

tc/P1 1D(

tc/P2 B - 2 (

tc

/P@ H 1(tc/P 11 H D

F Sre$nje !rijeme komp#etiranja

tc  /1DCC1CD4 B ms

Raspoređi!anje na interakti!nim sistemima

#ro$es %rijeme dolaska u sistem %rijeme izvr&avanja

P1 : B

P2 2

P@ 1

P

Page 35: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 35/60

'asporeivanje na osnovu prioriteta – s!akom procesu se $o$je#juje prioritet(

 – prioritet je naj&e*e cje#o"rojna !rije$nost( pri &emuni.a !rije$nost ozna&a!a !i*i prioritet(

 – pro"#em je mo,ue "#okiranje procesa koji ima ni.iprioritet(

 – iz to, raz#o,a procesi se $e)ini*u kao kom"inacija!rije$nosti%

● inicija#no, prioriteta(● !remena pro!e$eno, u re$u &ekanja

Raspoređi!anje na interakti!nim sistemima

Page 36: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 36/60

'asporeivanje na osnovu prioriteta bez pretpražnjenjaPrimjer% Procesi P1-P $o#aze na iz!r*a!anje u pri"#i.no istom trenutku

Raspoređi!anje na interakti!nim sistemima

#ro$es %rijeme izvr&avanja #rioritet

P1 1: @

P2 1 1

P@ 2 P 1

P 2

P2 P P1 PP@

: 1 D 1D 1G 1J

Vremena komp#etiranja%tc/P1 1D

tc/P2 1

tc/P@ 1G

tc/P 1J

tc/P D

Sre$nje !rijeme komp#etiranja%tc/1DC1C1GC1JCD412 ms

Vremena &ekanja%t8

/P1 D

t8

/P2 :

t8

/P@ 1D

t8

/P 1G

t8

/P 1

Sre$nje !rijeme &ekanja%t8/DC:C1DC1GC14G(2 ms

Page 37: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 37/60

'asporeivanje na osnovu prioriteta sa pretpražnjenjemPrimjer% Procesi P1-P su sortirani po prioritetima /P19P29P@9P9P

Raspoređi!anje na interakti!nim sistemima

#ro$es %rijeme izvr&avanja %rijeme dolaska na sistem

P1 1: @

P2 1 1

P@ 1 1P 2 :

P 12

P P1 P2P

: 1 2 1 1 1J

P@ P

@ 1@

P

Vremena komp#etiranja%tc/P1 1@-@1:

tc/P2 1-11

tc/P@ 2-11

tc/P @-:@

tc/P 1J-12B

Sre$nje !rijeme komp#etiranja%tc/1:C1C1C@CB4( ms

Vremena &ekanja%t8

/P1 :

t8

/P2 :

t8

/P@ :

t8

/P 1

t8

/P 1@-12C12

Sre$nje !rijeme &ekanja%t8/:C:C:C1C24:(D ms

Page 38: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 38/60

'ound)'obin ('' – namjenski projekto!an a#,oritam za interakti!ne

sisteme(

 – )unkcioni*e kao ;S sa pretpra.njenjem(

 – s!akom procesu se $o$je#juje inter!a# u kojem se smijeiz!r*a!ati /k!antum( ti"e-slice(

 – po isteku k!antuma( procesor se $o$je#juje s#je$eems#o"o$nom procesu(

 – $u.ina k!antuma i,ra kriti&nu u#o,u( – krai k!antum zna&i &e*e zamjene procesa( a#i i !i*e

potro*eno, !remena na promjene konteksta

Raspoređi!anje na interakti!nim sistemima

Page 39: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 39/60

'ound)'obin ('' – u toku iz!r*a!anja o!o, a#,oritma mo,ue su s#je$ee

situacije%● proces je za!r*io akti!nost prije isteka k!antuma - u o!om s#u&aju

proces os#o"ađa procesor( a a#,oritam uk#anja proces iz #iste &ekanja(● proces nije za!r*io akti!nosti( a#i mora os#o"o$iti procesor po isteku

k!antuma( nakon &e,a ,a a#,oritam posta!#ja na kraj #iste &ekanja(● proces je "#okiran z"o, 54I operacije H proces os#o"ađa procesor i

pre#azi na kraj #iste &ekanja tek nakon po!ratka u REAKL stanje+

 – o!aj a#,oritam nu$i najkrae !rijeme o$zi!a( a#i ne*to $u.esre$nje !rijeme za!r*etka procesa

Raspoređi!anje na interakti!nim sistemima

Page 40: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 40/60

'ound)'obin ('' ) primjer ?etiri procesa sa trajanjima @( 1B( DG i 2 ms i $u.inom k!antuma o$ 2: ms

Raspoređi!anje na interakti!nim sistemima

Page 41: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 41/60

● prioritetno rasporeivanje sa vi&e redova *ekanja

 – raz#i&iti re$o!i &ekanja imaju raz#i&ite prioritete(

 – s!aki re$ &ekanja mo.e koristiti $ru,a&iji a#,oritam(

 – korisno u s#u&aje!ima ka$ postoje procesi koji sa

raz#i&itim a#,oritmima i#i !e#i&inama k!anto!a $ajuraz#i&ite rezu#tate(

 – s!i procesi koji pripa$aju !i*em re$u &ekanja imaju !eiprioritet o$ procesa u ni.im re$o!ima &ekanja(

 – procesi iz re$o!a &ekanja sa ni.im prioritetom seiz!r*a!aju nakon procesa iz re$o!a &ekanja sa !i*imprioritetom(

 – mo,ue je imp#ementirati i promjenu re$a &ekanja za

procese koji iskoriste $ati k!antum

Raspoređi!anje na interakti!nim sistemima

Page 42: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 42/60

● garantovano rasporeivanje

 –  je$nosta!an a#,oritam ko$ koje, s!aki o$ n procesa$o"ija 14n procesorsko, !remena(

 – za s!aki proces se prati $io procesorsko, !remena koji

 je !e iskoristio( – a#,oritam se iz!o$i tako $a o!e !rije$nosti "u$u

uje$na&ene(

 – proces koji je $o"io najmanji $io u o$nosu na ono na

*ta ima pra!o( i$e s#je$ei na iz!r*a!anje $ok se k!otane izje$na&i

Raspoređi!anje na interakti!nim sistemima

Page 43: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 43/60

● lutrijsko rasporeivanje (lottery scheduling 

 – s!aki proces $o"ija je$nu i#i !i*e #utrijski' #istia /en,+lotter% tickets(

 – procesor "ira je$an #isti s#u&ajnim iz"orom u kratkim

inter!a#ima( – proces koji ima $ati #isti i$e na iz!r*a!anje(

 – !ei "roj #istia zna&i !eu !jero!atnou $a e proces"iti iz!u&en(

 – ako je potre"no neki proces pos#ati na iz!r*a!anje($o!o#jno mu je $ati !ei "roj #istia prije s#je$ee,iz!#a&enja(

 – "rz o$zi!

Raspoređi!anje na interakti!nim sistemima

Page 44: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 44/60

● fair-share rasporeivanje

 – pret'o$ni a#,oritmi ne uzimaju u o"zir !#asnikapokrenuti' procesa(

 – ako korisnik 1 pokrene J procesa( a korisnik 2 pokrene

1 proces( korisnik 1 e $o"iti J: procesorsko,!remena(

 – fair-share a#,oritmi uzimaju u o"zir i neki $ru,ikriterijum /ne posmatraju procese iz$!ojeno(

 – u za!isnosti o$ kriterijuma( mo.e se napra!itimo$i)ikacija "i#o koje, $ru,o, opisano, a#,oritma

Raspoređi!anje na interakti!nim sistemima

Page 45: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 45/60

● procesi ko$ koji' je !rijeme o$ kriti&no, zna&aja(

● mo,u se k#asi)iko!ati na procese sa striktnim !remenom reakcije /en,+ hardreal ti"e i sa s#o"o$nijim !remenom reakcije /en,+ soft real ti"e(

● sastoje se iz po$je#e pos#a na manje za$atke za koje se mo.e o$re$iti ta&no!rijeme iz!r*a!anja(

ne mora zna&iti $a se s!i procesi mo,u raspore$iti u $atom !remenskomok!iru(

● $o,ađaji u sistemu za ra$ u rea#nom !remenu se mo,u k#asi)iko!ati naperio$i&ne i aperio$i&ne(

● ako sistem tre"a $a o$,o!ori na m perio$i&ni' $o,ađaja ko$ koji' se

$o,ađaj i ja!#ja sa perio$om Pi i za'tije!a ;i sekun$i za iz!r*a!anje( i ako!a.i

ka.e se $a je sistem rasporediv+

Raspoređi!anje na sistemima za ra$ u rea#nom !remenu

∑i=1

m

(  P iC i)⩽1

Page 46: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 46/60

#rimjer % $at je sistem sa @ perio$i&na $o,ađaja saperio$ama 1:: ms( 2:: ms i :: ms+ a o"ra$u $o,ađaja jepotre"no : ms( @: ms i 1:: ms( re$om+

:41::C@:42::C1::4:::+C:+1C:+2+-. Q 1

 Ako se $o$a jo* je$an proces sa perio$om o$ 1s( ta$a jesistem raspore$i! samo ako za o"ra$u &et!rto, $o,ađaja nije

potre"no !i*e o$ 1:ms+

● ko$ o!o, za$atka se po$razumije!a $a se promjena

konteksta iz!o$i to#iko "rzo $a se mo.e zanemariti

Raspoređi!anje na sistemima za ra$ u rea#nom !remenu

Page 47: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 47/60

● 'MS (Rate Monotonic Scheduling  – $o$je#juje s!akom procesu )iksan prioritet u za!isnosti o$

u&estanosti $o,ađaja koji o"rađuje+

 – stati&ki a#,oritam za raspoređi!anje /procesi imaju )iksne prioritete(

 –

$a "i )unkcionisao( moraju "iti ispunjeni s#je$ei us#o!i%● s!aki perio$i&ni proces se mora za!r*iti unutar pre$!iđeno,

perio$a(● proces ne za!isi o$ $ru,o, procesa(● s!akom procesu je potre"na ista ko#i&ina procesorsko,

!remena u s!akom cik#usu /burst -u - optereenje /o"im pos#ase ne mijenja(

● neperio$i&ni procesi nemaju roko!a $o ka$ moraju "iti za!r*eni(● pretpra.njenje se iz!r*a!a trenutno i ne tro*i resurse

 – pr!a &etiri za'tje!a je mo,ue ispuniti( $ok peti nije primjenji! upraksi( a#i poje$nosta!#juje mo$e#o!anje sistema

Raspoređi!anje na sistemima za ra$ u rea#nom !remenu

Page 48: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 48/60

● E/F (arly !eadline First  – $inami&ki a#,oritam /procesi nemaju )iksne prioritete(

 – $o,ađaji ne moraju "iti perio$i&ni(

 –

potre"no procesorsko !rijeme ne mora "iti u!ijek isto( – s!akom procesu se na osno!u o"ja!#jeno, roka za

za!r*etak $o$je#juje prioritet(

 – pretpra.njenje se mo.e $esiti ka$ se poja!i no!i

proces &iji rok isti&e prije trenutno akti!no, procesa( – znatno komp#eksniji za imp#ementaciju o$ RMS

a#,oritma(

 – )unkcioni*e za s!aki raspore$i! sistem

Raspoređi!anje na sistemima za ra$ u rea#nom !remenu

Page 49: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 49/60

situacija u kojoj su je$an i#i !i*e procesa "#okiraniza'tje!ima za raz#i&itim resursima koje koriste $ru,iprocesi(

● mo$e# sistema u kojem mo.e $oi $o zastoja se sastoji iz

kona&no, "roja resursa koje koriste konkurentni procesi/memorijski prostor( procesor( $atoteke( 54I uređaji(

● s!aki resurs se mo.e sastojati iz je$ne i#i !i*e i$enti&ni'instanci( pri &emu proces mo.e koristiti "i#o koju o$

s#o"o$ni' instanci(● za'tje!i za resursima i akti!ni procesi se naj&e*e prikazuju

,ra)o!ima $o$je#e+ Ako ,ra) nema kru.ni' toko!a( sistemsi,urno nije u stanju zastoja+

astoj /eadlock 

Page 50: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 50/60

zastoj nastupa ako su isto!remeno ispunjena s#je$ea us#o!a%

 – meusobno isklju*enje H samo je$an proces mo.e koristiti resurs i#i je$nu nje,o!u instancu+ Princip međuso"no, isk#ju&enja ne tre"aprimjenji!ati na $je#ji!e resurse(

 – nema pretpražnjenja H resurs se ne mo.e o$uzeti i pre$ati $ru,omprocesu prije ne,o *to ,a proces sam os#o"o$i+ O!aj us#o! je mo,ueponi*titi s#je$eim a#,oritmom% proces koji trenutno ne mo.e $o"ititra.eni resurs( os#o"ađa s!e zauzete resurse i pre#azi u stanje AIT(s!e $ok tra.eni resursi ne postanu $ostupni(

 – uslov zadržavanja resursa i *ekanja na drugi /hold and wait  Hproces $r.i je$an resurs u kori*tenju( a isto!remeno &eka na resurs koji je zauzet o$ strane $ru,o, procesa+ Pro"#em se e#imini*e uko#ikoproces a#ocira s!e resurse prije po&etka iz!r*a!anja(

 – kružno *ekanje H postoji skup procesa P:( P1( +++( P: koji &ekajuresurse u kru.nom poretku+ Pro"#em se e#imini*e u!ođenjem striktno,re$os#ije$a po kojem procesi mo,u tra.iti resurse+

astoj /eadlock 

Page 51: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 51/60

  wait("); wait(+);   wait(Q);    wait(S);

  ! !

  ! !

  ! !

  signal(S);  signal(Q);

  signal(+); signal(");

● proces P: /prikazan na #ije!oj strani pre#azi u stanje "#okiranja&ekajui resurs U(

● $a "i proces P1 /prikazan na $esnoj strani $o*ao $o instrukcijekojom os#o"ađa resurs U( mora $o"iti resurs S(

● resurs S je zak#ju&an o$ strane procesa P:

astoj /eadlock  - primjer 

Page 52: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 52/60

s#i&ni koncepti zastoju% – livelock /.i!o "#okiranje - situacija u kojoj su niti i#i

procesi akti!ni /naizmjeni&no rea,ujui na $o,ađaje$ru,e strane( a#i ne napre$uju /npr+ susret $!oje #ju$i u

'o$niku koji poku*a!aju $a se pomjere(

 – starvation /iz,#a$nji!anje - situacija u kojoj je$na nit i#iproces /naj&e*e z"o, neispra!no kon)i,urisani'

prioriteta preuzima s!e resurse( pri &emu osta#e niti iprocesi ne mo,u pristupiti resursima

&ivelock i starvation

Page 53: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 53/60

okru,#i sto(● )i#ozo)a(

● *tapia(

s!i su ra!nopra!ni(

$ea$#ock - s!i )i#ozo)i uzmu #ije!i *tapi i &ekaju na $esni(● #i!e#ock - s!i )i#ozo)i uzmu $esni *tapi( spuste ,a( uzmu

$esni *tapi i tako naizmjeni&no(

● star!ation - )i#ozo) 6 ne mo.e uzeti ni je$an *tapi jer su

mu )i#ozo)i sa raz#i&iti' strana uze#i #ije!i i $esni *tapi

Tipi&an primjer - pro"#em )i#ozo)a

Page 54: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 54/60

u s#u&aju $a postoji jedna instan$a s!ako, resursa● konstrukcija usmjereno, ,ra)a sa resursima i procesima(

● !eza o$ procesa prema resursu ozna&a!a $a proces trenutnotra.i instancu resursa koja je zauzeta(

● !eza o$ resursa prema procesu ozna&a!a $a proces trenutno$r.i instancu resursa(

● ako je ,ra) cik#i&an( ta$a postoji zastoj(

● &!oro!i koji u#aze u cik#i&ni $io ,ra)a( u&est!uju u zastoju(

● ,ra) za raniji primjer

Ketekcija zastoja

S

U

P: P1

Page 55: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 55/60

u s#u&aju $a postoji vi&e instan$i s!ako, resursa● $e)ini*u se s#je$ee strukture%

 – !ektor raspo#o.i!osti% raspolo,i-o[]+ Ako jeraspolo,i-o[]=k( ta$a je k instanci resursa Rj raspo#o.i!o(

 – matrica maksima#ni' za'tje!a% aksialno[n.]+ Ako jeaksialno[i.]=k( ta$a proces Pi mo.e tra.iti naj!i*e k instanci resursa Rj(

 – matrica a#okacije% dodela[n.]+ Ako je dodela[i.]=k(

ta$a je proces Pi trenutno $o"io k instanci resursa Rj( – matrica potre"a% potreba[n.]+ Ako je potreba[i.]=k( ta$a

proces Pi mo.e tra.iti jo* k instanci resursa Rj+

● o!e strukture se koriste ko$ a#,oritama za iz"je,a!anje

zastoja

Iz"je,a!anje zastoja

Page 56: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 56/60

,ra)i&ki prikaz mo,unosti $a nastane zastoj

Iz"je,a!anje zastoja - putanje resursa

a!r*etak o"a procesa

Proces A

Proces 3

I1 I2 I@ I

I

ID

IB

IGtampa&

tampa&

Skener 

Skener 

Tok iz!r*a!anja procesa

u !remenu

Page 57: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 57/60

a#,oritam koji se( teoretski( mo.e ut!r$iti mo,unostzastoja(

● ima s#i&nosti sa ra$om "anke /kre$itiranjem(

● sistem ut!rđuje za s!aki proces $a #i je mo,ue ispunitinje,o!e maksima#ne za'tje!e /en,+ run to co"pletion(

● ako postoji sek!enca procesa tak!a $a je s!im procesimamo,ue ispuniti za'tje!e za resursima( ka.e se $a jesistem u sta"i#nom stanju(

● ako je sistem u nesta"i#nom stanju( ne zna&i nu.no $a e$oi $o zastoja /u za!isnosti o$ $a#je, toka iz!r*a!anja(

● u praksi se te.e imp#ementira( jer se za'tje!i s!ako,procesa moraju znati unaprije$

Iz"je,a!anje zastoja - "ankarski a#,oritam

Page 58: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 58/60

0 1ni$ijaliza$ija!ektor rad = raspolo,i-o /!ektor raspo#o.i!i' resursa(

!ektor kraj( kra[i]=0 i [1.n]ϵ /pokazuje $a #i je proces i za!r*en(

2 #ronalaženje pro$esa koji može da zadovolji svoje potrebe( o$nosnoprocesa za koji !a.i%

kra[i]=0(

potreba[i]rad( Ako o!aka! proces ne postoji( pre#azi se na korak +

3 #ro$esu se dodjeljuju svi potrebni resursi( nakon &e,a on za!r*a!a akti!nostii !raa resurse u sistem%rad=rad'dodela[i].

kra[i]=1.Po!ratak na korak 2(4 5ko je kraj[i]=1 za svako i, onda je sistem u stabilnom stanju

U toku provoenja algoritma, sistem vr&i 6kvazidodjele7 (prividne dodjeleresursa #rividne dodjele postaju stvarne tek kad se utvrdi da sistem ne8e

do8i u nestabilno stanje

Iz"je,a!anje zastoja - "ankarski a#,oritam

Page 59: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 59/60

#rimjer %

5 sistemu postoji procesa /P: $o P i tri resursa /A( 3( ; sa 1:( i B instanci+ 5trenutku t:( raspo#o.i!e su po tri instance resursa A i 3 i $!ije instance resursa ;( o$nosno%raspo#o.i!o/@( @( 2+ Stanje sistema je opisano s#je$eom ta"e#om%

 Ako proces P1 iz$aje za'tje! za kori*tenje resursa $e)inisan na s#je$ei na&in%

za'tje!/1( :( 2$a #i e sistem nakon o$o"ra!anja za'tje!a ostati u sta"i#nom stanjuW

Iz"je,a!anje zastoja - "ankarski a#,oritam

%ektor dodjela maksimalno potreba

'esurs 5 9 C 5 9 C 5 9 C

#+ : 1 : B @ B @

#0 2 : : @ 2 2 1 2 2

#2 @ : 2 J : 2 D : :

#3 2 1 1 2 2 2 : 1 1

#4 : : 2 @ @ @ 1

Page 60: 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

7/23/2019 05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj

http://slidepdf.com/reader/full/05-procesi-i-niti-2-komunikacija-sinhronizacija-zastoj 60/60

Primjer%

 Ako "i za'tje! "io o$o"ren( stanje sistema "i "i#o prikazano s#je$eom ta"e#om%

Trenutno raspo#o.i!o% (2, 3, +Primjenom "ankarsko, a#,oritma na trenutno stanje sistema( $o#azi se $o sek!ence #0 ):#3 ): #4 ): #+ ): #2( koja e za$o!o#jiti us#o!e sta"i#nosti H sistem "i ostao u sta"i#nomstanju nakon $o$je#e+

Rje*enja "ankarsko, a#,oritma ne moraju "iti je$nozna&na( tj+ &esto postoji !i*e sek!encikoje osta!#jaju sistem u sta"i#nom stanju Pra!i#o koje naj&e*e $o!o$i $o poziti!ni'

Iz"je,a!anje zastoja - "ankarski a#,oritam

%ektor dodjela maksimalno potreba

'esurs 5 9 C 5 9 C 5 9 C

#+ : 1 : B @ B @

#0 @ : 2 @ 2 2 : 2 :

#2 @ : 2 J : 2 D : :

#3 2 1 1 2 2 2 : 1 1

#4 : : 2 @ @ @ 1