You are on page 1of 5

Bllokimi Reciprok

Sekuenca e ngjarjeve q nevojitet pr t prdorur nj


burim sht:
1.
2.
3.

Krkon burimin.
Prdor burimin.
Lshon burimin.

Nse burimi nuk sht i lir kur ai krkohet, procesi


krkues detyrohet t pres. N disa sisteme operimi,
procesi bllokohet n mnyr automatike nse krkesa
pr nj burim dshton, dhe procesi aktivizohet prsri
nse burimi bhet i vlefshm pr tu prdorur. N
sisteme t tjer, krkesa dshton me nj kod gabimi,
dhe procesi thirrs vendos nse do t pres pr t
provuar prsri m von.
Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Prvetsimi i burimeve (vazhdim)


Ndonjher proceseve i nevojiten dy ose m shum burime. Ata mund ti
prvetsojn n mnyr sekuenciale, ashtu si tregohet m posht. Nse
nevojiten m shum se dy burime, ato prvetsohen njri pas tjetrit.
typedef int semaphore;
semaphore resource_1;
semaphore resource_2;
void process_a (void) {
down(&recource_1); // krkon burimin recource_1
down(&recource_2); // krkon burimin recource_2
use_both_resources(); // prdor dy burimet
up(&resource_1(); // lshon burimin recource_1
up(&resource_2(); // lshon burimin recource_2
}
Prsa koh q sht i prfshir vetm nj proces, do gj shkon mir
Bazuar ne Modern Operating Systems 2nd ed.

Nj mnyr pr t lejuar manaxhimin e burimeve nga vet prdoruesit sht


q secili burim t lidhet me nj semafor. Kta semafor jan t gjith t
inicializuar me 1. Tre hapat e renditura m lart m pas implementohen si:
primitiva down e semaforit pr t marr burimin, prdoret burimi, dhe
prfundimisht prdoret primitiva up pr t lshuar burimin. Kto hapa jan
treguar n kodin e mposhtm:
typedef int semaphore;
semaphore resource_1;
void process_a (void) {
down(&recource_1); // krkon burimin
use_resource_1(); // prdor burimin
up(&resource_1(); // lshon burimin
}

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Prvetsimi i burimeve (vazhdim)


Supozojm se kemi dy procese, A
dhe B, dhe dy burime. T dy
proceset i krkojn burimet sipas
t njjts renditje. Njri nga
proceset (p.sh. procesi A) do ta
marr burimin e par prpara
procesit tjetr (B). M pas ky
proces (A) do t marr me sukses
edhe burimin e dyt dhe do t kryej
detyrn e vet. Nse procesi tjetr
(B) do t tentoj t marr burimin 1
prpara se ai t lshohet, ather
ai (B) do t bllokohet derisa
procesi A t lshoj burimin 1.

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Andrew S Tanenbaum

Prvetsimi i burimeve (vazhdim)


N kt figur situata sht
ndryshe nga ajo e mparshmja.
Mund t ndodh q nj nga proceset
ti marr t dy burimet dhe t bllokoj
procesin tjetr derisa t mbaroj
pun me to. Megjithat, mund t
ndodh q procesi A t marr burimin
1 dhe procesi B t marr burimin 2.
Secili nga proceset do t bllokohet
kur t prpiqet t marr burimin
tjetr. T dy proceset nuk do t
mund t vazhdojn asnjher
ekzekutimin e tyre. N kt rast
kemi t bjm me bllokim reciprok.

Bazuar ne Modern Operating Systems 2nd ed.

Prvetsimi i burimeve

Andrew S Tanenbaum

far sht bllokimi reciprok?


Nj bashksi procesesh sht e bllokuar
reciprokisht n.q.se do proces n kt
bashksi sht duke pritur pr nj ngjarje
q mund t shkaktohet vetm nga nj
proces tjetr i ksaj bashksie.

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Kushtet q t ndodh bllokimi


reciprok

Prjashtimit reciprok. do burim ose sht duke u prdorur


vetm nga nj proces ose sht i lir.
Mbaj dhe prit. Proceset q aktualisht mbajn burime t cilat i
kan krkuar m par mund t krkojn burime t reja.
Mos zvendsimi. Burimet q i jan dhn nj procesi nuk
mund t merren me forc prej tij. Burimet lshohen n mnyr
eksplicite nga procesi q i mban ato.
Cikli. Duhet t ekzistoj nj varg prej dy ose m shum
procesesh, ku secili prej tyre sht duke pritur pr nj burim
q mbahet nga antari tjetr i vargut.

Q t ndodh bllokimi reciprok i burimeve duhet t


plotsohen kto katr kushte. Nse njri prej tyre nuk
plotsohet, ather nuk do t ket bllokim reciprok.
Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Modelimi i bllokimit reciprok


(vazhdim)
N fig. (a), burimi R aktualisht i sht dhn procesit A. N fig. (b), procesi B sht
n pritje t burimit S. N fig.(c) shohim nj bllokim reciprok; procesi C sht n pritje
t burimit T, i cili mbahet aktualisht nga procesi D. Procesi D nuk sht gati t lshoj
burimin T, sepse sht duke pritur pr burimin U, i cili mbahet nga C. T dy proceset
do t presin prgjithmon. Nj cikl n graf tregon se ekziston nj bllokim reciprok q
prfshin proceset dhe burimet n cikl (duke supozuar se do burim ka vetm nj
instanc). N kt shembull cikli sht C-T-D-U-C.

Modelimi i bllokimit reciprok


Katr kushtet mund t modelohen duke prdorur
grafet e orientuar. Grafet kan dy tipe nyjesh:
proceset, t paraqitur si rrath, dhe burimet, t
paraqitur si katror. Nj hark i orientuar nga nj
nyje burim (katror) drejt nj nyje proces (rreth)
tregon se ai burim sht krkuar m par nga ky
proces, i sht dhn ktij procesit, dhe
aktualisht mbahet nga ky proces. Nj hark i
orientuar nga nj proces tek nj burim tregon q
procesi aktualisht sht i bllokuar n pritje t atij
burimi.
Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Modelimi i bllokimit reciprok


(vazhdim)
Nj shembull se si mund t prdoret grafi i burimeve. Supozoni se
kemi tre procese, A, B dhe C dhe se jan tre burime, R, S dhe T.
Krkesat dhe lshimet e burimeve nga kto tre procese jepen n
Fig. (a)-(c).
A
Krkon R
Krkon S
Krkon R
Krkon S
(a)

C
Krkon S
Krkon T
Krkon S
Krkon T
(b)

Krkon T
Krkon R
Krkon T
Krkon R
(c)

Sistemi i shfrytzimit sht i lir q n do ast t ekzekutoj ndonj


proces t pa bllokuar, kshtu ai mund t vendos t ekzekutoj A-n
derisa A t prfundoj t gjith punn e tij, m pas t ekzekutoj Bn deri sa t prfundoj, dhe prfundimisht t ekzekutoj C-n. Kjo
renditje nuk on n bllokim reciprok (sepse nuk ka konkurrenc pr
burimet), por gjithashtu nuk ka fare paralelizm.

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Modelimi i bllokimit reciprok


(vazhdim)
Krkesat pr burime mund t vijn sipas renditjes: A krkon R, B krkon S,
C krkon T, A krkon S, B krkon T, C krkon R
Nse kto gjasht krkesa bhen sipas ktij rendi, gjasht grafet pr
shprndarjen e burimive q do t rezultojn nga to paraqiten n Fig. (e)-(j).

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Modelimi i bllokimit reciprok


(vazhdim)
Pasi bhet kerkesa 4, A-ja bllokohet dhe pret pr S-n, si tregohet
n Fig. (h). N dy hapat pasardhs B-ja dhe C-ja gjithashtu do t
bllokohen, duke formuar s fundmi n cikl dhe bllokimin reciprok t
Fig. (j).

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Modelimi i bllokimit reciprok


(vazhdim)

Modelimi i bllokimit reciprok


(vazhdim)
N prgjithsi, pr trajtimin e bllokimit
reciprok prdoren 4 strategji:

Nse sistemi i operimit do ta dinte q bllokimi reciprok ishte i


pashmangshm, ai mund ta pezullonte B n vend q ti jepte atij burimin S.
Nga ekzekutimi vetm i A-s dhe C-s, do t kishim krkesat dhe lshimin e
burimeve t Fig. (k) n vend t atyre t Fig. (d). Kjo sekuenc on n grafet
e Fig. (l)-(q), t cilat nuk ojn n bllokim reciprok.

Bazuar ne Modern Operating Systems 2nd ed.

1. Injorohet problemi. Mbase nse ti e injoron at,


ai do t injoroj ty.
2. Zbulimi dhe kthimi n gjendje normale. Le t
ndodhin bllokimet reciprok, zbulo ato, dhe merr
masa.
3. Mnjanimi dinamik duke br nj shprndarje t
kujdesshme t burimeve.
4. Parandalimi, duke br t mundur mosplotsimin
e njrit prej kushteve t nevojshm.
Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Zbulimi i bllokimit reciprok kur


burimet kan vetm nj instanc
(Shembull)

Zbulimi i bllokimit reciprok kur


burimet kan vetm nj instanc
Rasti m i thjesht: ekziston vetm nj instanc
pr do tip burimi. Nj sistem i till mund t ket
nj skaner, nj regjistruesh CD-je, dhe nj
pajisje pr lexim/shkrimin e shiritit, por jo m
shum se nj pr do klas burimesh. Pr nj
sistem t till, mund t ndrtojm nj graf
burimesh. N.q.se n graf ka nj ose m shum
cikle, ekziston nj bllokim reciprok. do proces
q bn pjes n cikl sht i prfshir n
bllokimin reciprok. Nse n graf nuk ekziston
ndonj cikl, ather nuk kemi t bjm me
bllokim reciprok.
Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Zbulimi i bllokimit reciprok kur


burimet kan vetm nj instanc
(2)
Algoritmi pr zbulimin e bllokimit reciprok:
1.
2.
3.
4.
5.
6.

Pr do nyje, N n graf, kryej 5 hapat e mposhtm me N si nyje fillestare.


Inicializo L-n me nj list boshe, dhe caktoji t gjitha brinjt si t pa
shnuara.
Shto nyjen aktuale n fund t L-s dhe kontrollo nse tani nyja shfaqet dy
her n L, nse sht kshtu, n graf ka cikl dhe algoritmi prfundon.
Nga nyja e dhn, shih nse ka ndonj brinj t pa shqyrtuar. Nse sht
kshtu shko n hapin 5 prndryshe shko n hapin 6.
Zgjidh n mnyr t rastsishme nj nga brinjt e pashqyrtuara dhe vendosi
nj shenj asaj. M pas ndiq at tek nyja aktuale e re dhe shko n hapin 3.
Nse kjo nyje sht ajo fillestarja, grafi nuk ka cikl dhe algoritmi prfundon.
Prndryshe, kemi arritur n nj rrug qorre. Hiqe at dhe kthehu n nyjen e
mparshme, q sht ajo q q ishte aktuale prpara ksaj nyje, bje at
prsri nyje aktuale, dhe shko n hapin 3.

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

N sistem me shtat procese, A deri n G, dhe


gjasht burime, R deri n W. Gjendja se si jan
shprndar burimet ndrmjet proceseve dhe far
burimesh po krkojn proceset sht si m posht:
1.
2.
3.
4.
5.
6.
7.

1.

Procesi A ka marr burimin R dhe krkon burimin S.


Procesi B nuk ka asnj burim dhe krkon burimin T.
Procesi C nuk ka asnj burim dhe krkon burimin S
Procesi D ka marr burimin U dhe krkon burimet S dhe T.
Procesi E ka marr burimin T dhe krkon burimin V
Procesi F ka marr burimin W dhe krkon burimin S.
Procesi G ka marr burimin V dhe krkon burimin U.

Grafin i burimeve pr kt situat sht paraqitur n


Fig. (a). Ky graf ka nj cikl. Cikli tregohet n Fig.
(b). Nga ky cikl mund t shohim se proceset D, E
dhe G jan prfshir n bllokim reciprok. Proceset A,
C dhe F nuk jan prfshir n bllokim reciprok sepse
burimi S mund ti jepet njrit prej tyre, i cili m pas
prfundon dhe e kthen burimin. M pas dy t tjert
mund ta marrin at dhe t prfundojn.

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Zbulimi i bllokimit reciprok pr


burimet me shum instanca
Pr t zbuluar bllokimin reciprok ndrmjet n proceseve ,P1 deri n Pn do t
paraqesim nj algoritm q bazohet mbi nj matric. Strukturat e t dhnave q do t
prdorim n kt algoritm jan:
m sht numri i klasave t burimeve,
E sht vektori i burimeve ekzistuese. Ai mban numrin total t instancave t do
burimi q ekziston. P.sh., nse klasa 1 sht nj pajisje pr lexim/shkrimin e
shiritit, ather E1 = 2 tregon q sistemi ka dy pajisje pr lexim/shkrimin e shiritit.
A sht vektori i burimeve t lira, ku Ai tregon numrin e instancave t burimit i q
aktualisht jan t lira. Nse t dy pajisjet pr lexim/shkrimin e shiritit nuk do t
ishin t lir, Ai do t ishte 0.
C sht matrica e shprndarjes s burimeve. Rreshti i i-t i C tregon se sa
instanca t do tipi burimi, mban aktualisht procesi Pi. Kshtu q Cij sht numri
i instancave t burimit j q mbahen nga procesi i.
R sht matrica e krkesave. Rij sht numri i instancave t burimit j q krkon
procesi Pi. Kto struktura t dhnash paraqiten mposht.

Andrew S Tanenbaum

Zbulimi i bllokimit reciprok pr


burimet me shum instanca (2)
Algoritmi pr zbulimin e bllokimit reciprok sht
si m posht:
(Fillimisht t gjith proceset jan t pashnuar)
1. Krko pr nj proces t pashnuar, Pi, pr t cilin
rreshti i i-t i R-s sht m i vogl ose i barabart
me A.
2. Nse gjendet nj proces i till, shtoji A-s rreshtin e
i-t t C-s, shno procesin, dhe shko prsri n
hapin 1.
3. Nse nuk ekziston nj proces i till, algoritmi
prfundon.

Bazuar ne Modern Operating Systems 2nd ed.

Zbulimi i bllokimit reciprok pr


burimet me shum instanca (4)
(shembull)
A B C D
A = ( 2 1 0 0)

matrica e shperndarjes se burimeve

matrica e kerkesave

Pr t ekzekutuar algoritmin pr zbulimin e bllokimit reciprok, krkojm pr nj proces


krkesa pr burime e t cilit mund t knaqet. E para nuk mund t knaqet sepse
nuk ka nje burim te klases D t lir. Edhe e dyta nuk mund t knaqet, sepse nuk ka
ndonj burim te klases C t lir. Fatmirsisht, krkesa e tret mund t knaqet,
kshtu q procesi 3 ekzekutohet dhe kur prfundon i lshon t gjith burimet dhe do
t kemi q
A = (2 2 2 0)
N kt pik procesi 2 mund t ekzekutohet dhe t kthej burimet e tij, dhe do t
kemi
A = (4 2 2 1)

Tani procesi i mbetur mund t ekzekutohet. N sistem nuk ka bllokim reciprok.


Bazuar ne Modern Operating Systems 2nd ed.

Konsiderojm situatn n Fig. 6-7. Ktu kemi tre procese dhe katr klasa burimesh,
t cilat i kemi emrtuar n mnyr arbitrare A, B, C dhe D. Procesi 1 ka nj burim te
klases C, procesi 2 ka 2 burime te klases A dhe nj burim te klases D. Procesi 3 ka
nj burim te klases B dhe dy te klases C. do procesi i nevojiten burime shtes, si
tregohet nga matrica R.
A B C D
E = ( 4 2 3 1)

Andrew S Tanenbaum

A B C D
A = ( 2 1 0 0)

matrica e shperndarjes se burimeve

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

A B C D
E = ( 4 2 3 1)

Zbulimi i bllokimit reciprok pr


burimet me shum instanca (3)
(shembull)

matrica e kerkesave

Andrew S Tanenbaum

Kthimi n gjendje normale pas


bllokimit reciprok
Kthimi n gjendje normale mund te behet sipas njeres prej
menyrave te meposhtme:
1. Duke i marr proceseve nj ose disa burime - n disa raste mund t jet e
mundur q njrit prej proeceve ti merret prkohsisht nj prej burimeve q ai
mban dhe ti jepet ky burim nj procesi tjetr.
2. Rollback - planifikohen pika kontrolli periodik t proceseve. Kjo do t thot se
gjendja e procesit shkruhet n nj skedar me qllim q t vazhdoj m von
ekzekutimin duke u nisur nga kjo gjendje. Pika e kontrollit nuk mban vetm
imazhin e kujtess, por edhe gjendjen e burimit,(cilat burime i jan dhn
aktualisht procesit). Kur zbulohet nj bllokim reciprok, sht e leht t kuptohet se
cilat burime nevojiten. Pr t kthyer prsri sistemin n gjendje normale, nj
proces q mban nj nga burimet q nevojiten kthehet mbrapa n ekzekutim deri
n momentin para se t merrte burimin duke nisur n nj nga pikat e mparshme
t kontrollit.
3. Duke shkaktuar prfundimin e proceseve - Mnyra m e ashpr por m e
thjesht pr t thyer nj bllokim reciprok sht vrasja e nj ose m shum
proceseve. Nj mundsi sht q t vritet nj prej proceseve n cikl. Me pak fat,
proceset e tjer do t jen n gjendje t vazhdojn ekzekutimin. Kjo mund t
prsritet derisa t thyhet cikli. Nj alternativ, sht q nj nga proceset q nuk
ndodhet n cikl t zgjidhet ti viktim me qllim q t lshoj burimet e tij. N kt
mnyr, procesi q duhet t vritet duhet t zgjidhet me kujdes sepse ai sht duke
mbajtur burime q i nevojiten ndonj procesi n cikl.
Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Bazuar ne Modern Operating Systems 2nd ed.

MNJANIMI I BLLOKIMIT
RECIPROK
Nse nj proces bn krkes pr nj burim,
sistemi do ta plotsoj at vetm nse dhnia e
burimit procesit q e krkoi e l sistemin n
gjendje t sigurt.
Gjendja sht e sigurt nse ekziston ndonj
rend pr przgjedhjen e burimeve sipas t cilit
do proces mund t ekzekutohet deri n
prfundim edhe pse t gjith ata papritur
krkojn njhersh numrin maksimal t
burimeve.
Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Andrew S Tanenbaum

Gjendjet e sigurta dhe t


pasigurta
N Fig. (a) kemi nj situat ku A ka tre instanca t burimit por mund ti nevojiten gjithsej
9. Aktualisht B ka 2 dhe mund ti nevojiten gjithsej 4. N mnyr t ngjashme, C ka 2
por mund ti nevojiten dhe 5 t tjera. Burimi ka vetm 10 instanca, pra shtat instanca i
jan shprndar ktyre 3 proceseve dhe jan edhe tre instanca t lira.

Gjendja n Fig. (a) sht e sigurt sepse ekziston nj sekuenc e shprndarjes s burimeve q i
lejon t gjith proceset t prfundojn. Domethn, B, do t marr dy instancat e tjera t burimit,
duke uar kshtu n gjendjen e Fig. (b). Kur B prfundon, arrijm n gjendjen e Fig. (c). Tani mund
t ekzekutohet C, duke uar n gjendjen e Fig. (d). Kur C prfundon, arrijm n gjendjen e Fig. (e).
Tani A mund t marr gjasht isntancat e burimit t cilat i nevojiten dhe gjithashtu t prfundoj
ekzekutimin. Kshtu pra gjendja n Fig. (a) sht e sigurt sepse sistemi, me an t nj
przgjedhjeje t kujdesshme, mundi t mnjanoj bllokimin reciprok.

Gjendjet e sigurta dhe t


pasigurta (2)
Tani supozojme se kemi gjendjen fillestare t paraqitur n Fig. (a), por kt her A
krkon dhe merr nj instanc tjetr t burimit, Fig. (b). Przgjedhsi mund t
ekzekutoj B derisa ai t krkoj t gjith burimet q i nevojiten, si tregohet n Fig.
(c). Prfundimisht, B prfundon dhe arrijm n situatn e paraqitur n Fig. (d). N
kt pik jemi t bllokuar. Kemi vetm katr instanca t burimit t lira, dhe secilit prej
proceseve aktiv i nevojiten pes. Nuk ka ndonj sekuenc q t na garantoj
prfundimin e tyre. Pra vendimi pr ti dhn nj instanc procesit A, i cili e oi
sistemin nga gjendja n Fig (a) n at n Fig. (b) na oi gjithashtu nga nj gjendje e
sigurt n nj gjendje t pasigurt. Ekzekutimi i A ose C duke nisur nga gjendja n Fig.
(b) gjithashtu nuk do t funksiononte. Pra krkesa e A nuk duhej t isht plotsuar.

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Algoritmi i bankierit pr nj
burim t vetm
N Fig. (a) jan katr klient, A, B, C dhe D, secilit prej tyre i sht dhn nj numr i caktuar
njsish krediti (p.sh. 1 njsi sht 1 dollar). Bankieri e di se jo t gjith klientve do tu nevojitet
menjher shuma maksimale e kredis s tyre, kshtu q ai mban rezerv vetm 10 njsi n
vend t 22 pr tju shrbyer atyre. (N kt analogji, klientt jan proceset, njsit jan, p.sh.
pajisjet pr lexim/shkrimin e shiritit, dhe bankieri sht sistemi i operimit.)

N nj moment t caktuar situata do t jet si ajo e paraqitur n Fig. (b). Kjo gjendje sht e sigurt
sepse me dy njsit q kan mbetur, bankieri mund t vonoj nj nga krkesat prve krkess q
vjen nga C, duke e lejuar kshtu C-n t prfundoj dhe t lshoj t katr burimet e tij. Duke pasur
dhe kto katr njsi n dor, bankieri mund tu jap D-s ose B-s njsit e nevojshme, e kshtu
vazhdon m tej me klientt e tjer. Nse duke u nisur nga gjendja n Fig. (b), krkesa q do t
bnte B pr nj burim m tepr, do t plotsohej. Kjo do t na onte n gjendjen q paraqitet n
Fig. (c), e cila sht e pasigurt. Nse t gjith klientt papritur do t krkonin shumn maksimale t
kredis s tyre, bankieri nuk do t mund t plotsonte krkesn e asnjrit prej tyre, dhe do t
kishim bllokim reciprok.
Bazuar ne Modern Operating Systems 2nd ed. Andrew S Tanenbaum

Algoritmi i bankierit pr shum


burime
Algoritmi q kontrollon nse nj gjendje sht e sigurt
sht si m posht:
1. Krko nj rresht, R, nevojat pr burime t t cilit jan t gjitha m
t vogla ose t barabarta me A. Nse nuk ekziston nj rresht i till,
sistemi prfundimisht do t futet n bllokim reciprok, prderisa asnj
proces nuk mund t vazhdoj ekzekutimin (supozojm se proceset i
mbajn t gjitha burimet derisa t prfundojn ekzekutimin).
2. Supozojm se procesi q i prket rreshtit t zgjedhur i krkon t
gjitha burimet q i nevojiten (sht e garantuar q sht e mundur)
dhe prfundon. Shnohet ky proces si i prfunduar dhe i shtohen
burimet e tij vektorit A.
3. Prsrit hapat 1 dhe 2 derisa ose t gjith proceset jan shnuar si
t prfunduar (n kt rast gjendja fillestare ishte e sigurt) ose nuk ka
mbetur asnj proces nevojat pr burime t t cilit t mund t
plotsohen (n kt rast kemi t bjm me bllokim reciprok).

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Algoritmi i bankierit
Nj algoritm przgjedhjeje q mund t mnjanoj bllokimin reciprok
sht n saj t Dijkstrs (1965); ai njihet si algoritmi i bankierit
sht modeluar sipas mnyrs q mund t trajtonte nj bankier i nj
qyteti t vogl nj grup klientsh t cilve u ka dhn linja kredie.
Algortimi i bankierit e merr parasysh krkesn n momentin q
ndodh, dhe kontrollon nse plotsimi i saj e l sistemin n gjendje t
sigurt. Nse sht kshtu krkesa plotsohet; prndryshe ajo
shtyhet pr m von. Pr t par nse nj gjendje sht e sigurt,
bankieri kontrollon nse ka burime t mjaftueshme pr t knaqur
ndonj klient. Nse sht kshtu, supozohet se kredit do t
ripaguhen, dhe kontrollohet klienti q sht m pran limitit, e
kshtu m tej. Nse prfundimisht t gjitha kredit ripaguhen,
gjendja sht e sigurt dhe krkesa fillestare mund t plotsohet.

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Algoritmi i bankierit pr shum


burime
Matrica n t majt tregon se sa instanca t do burimi ka marr secili prej pes
proceseve. Matrica n t djatht tregon se sa burime i nevojiten akoma secilit prej
proceseve me qllim q t prfundojn. Proceset duhet t deklarojn nevojat
maksimale pr burime para se t fillojn ekzekutimin, kshtu sistemi mund t llogaris
n do ast matricn n t djatht.
Tre vektort n t djatht t figurs tregojn burimet ekzistues, E, burimet e
shprndara, P, dhe burimet e lira, A. Nga vektori E shohim se sistemi ka gjasht
pajisje pr lexim/shkrimin e shiritave, tre plotera, katr printera, dhe dy pajisje pr
leximin e CD-ROM. Nga kto, pes pajisje pr lexim/shkrimin e shiritave, tre plotera,
dy printera dhe dy pajisje pr leximin e CD-ROM-eve i jan shprndar proceseve.
Ky fakt mund t tregohet edhe duke mbledhur 4 kolonat e burimeve n matricn n
t majt. Vektori i burimeve t lira sht thjesht diferenca ndrmjet burimeve q ka
sistemi dhe atyre q jan aktualisht n prdorim.

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

Parandalimi i bllokimit reciprok


Parandalimi i bllokimit reciprok ka te beje me
mos plotesimin e te pakten njerit prej kushteve
te bllokimit reciprok.
Kushti

Mnyra e prdorur

Prjashtimi reciprok

Prdor spool pr do gj

Mbaj dhe prit

Krkoji t gjith burimet q n


fillim

Mos i merr proceseve burimet

Merri proceseve burimet

Cikli

Renditja numerike e burimeve

Bazuar ne Modern Operating Systems 2nd ed.

Andrew S Tanenbaum

You might also like