05 Procesi i Niti 2 Komunikacija Sinhronizacija Zastoj
Transcript of 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
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
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
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
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
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+
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+
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+
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
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
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&
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+
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(") #
"'';
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
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);
"*;
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 +
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##/
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
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
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!+
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
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+
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+
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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