You are on page 1of 10

KAPITULLI IV

PROÇESET DHE KOOPERIMI

1. PROÇESET DHE PROÇESORËT

Proçesi është një treshe (S, f, s), ku:


 S është bashkësia e të gjitha ndryshoreve të gjendjes së proçesit, d.m.th. një bashkësi
qelizash të memories dhe një bashkësi regjistrash;
 f është funksioni i tranzicionit, d.m.th ; programi;
 s është gjendja fillestare e proçesit, d.m.th: vlera fillestare e ndryshoreve dhe e
rregjistrave.

Proçesori është një "objekt" i aftë të kryejë tranzicionet ndërmjet gjendjeve të proçesit sipas
funksionit të tranzicionit, d.m.th është makina e cila ekzekuton programin. Shënojmë se
programi është një ent statik, ndërsa proçesi është një ent dinamik që evoluon.

2. PROÇESET SEKUENCIALE DHE JOSEKUENCIALE

Në proçesin sekuencial operacionet kryhen sipas një radhe të përcaktuar, siç tregohet në figurën
3.46a, ku në mënyrë ciklike bëhet leximi Li, kryhet përpunimi Pi dhe shtypen përfundimet Si.
Në figuren 3.46b paraqitet një rast më kompleks, ku veprimet e leximit, përpunimit dhe shkrimit
mund të kryhen sipas një radhe jo detyrimisht sekuenciale, në veçanti, leximi i të dhënave Lipër
kryerjen e përpunimit Pi duhet të ndjekë leximin Li−1 , por përpunimi Pi mund të kryhet para,
gjatë ose pas përpunimit Pi−1e cila duhet të paraprijë Si−1 etj. Pra, kemi të bëjmë me një proçes
josekuencial, i cili mund të zbërthehet në proçese sekuenciale siç tregohet në figurën 3.47. Më
poshtë do të merremi vetëm me proçeset sekuenciale.

L1 L1

P1 L2 P1

S1 L3 P2 S1

L2 L4 P3 S2

P2

S2

Fig. 3.45a
L1 L2
… LN

P1 P1 PN

S1 S2 SN

L1 L2 LN

Fig. 3.45b

3. PËRSHKRUESI I PROÇESEVE SEKUENCIALE

Kur disa proçese ekzistojnë njëkohësisht në të njëjtin proçesor ndërprerja e proçesit duhet të
shoqërohet me ruajtjen e reqjistrave, d.m.th. duhet të ruhet gjendja e proçesit.
Gjendjen e proçesit e ruajmë në një zonë të memories që quhet përshkrues i proçesit. Secili
proçes ka përshkruesin e vet. Përshkruesi përmban informacione të ndryshme, ndër të cilat më
kryesoret paraqiten në figurën 3.48.

Treguesi Dinamik
Emri
Prioriteti
Rregjistra

Fig. 3.48

Përdorimi i treguesit dhe i prioritetit do të sqarohet më vonë.

4. GJENDJET E PROÇESIT SEKUENC1AL

Një proçes mund të ndodhet, nga pikëpamja logjike, në dy gjendje (fig. 3.49a):
 në gjendjen "aktive"; kur ai mund të evoluojë;
 në gjendjen "në pritje“ kur ai nuk mund të evoluojë, p.sh pret të dhënat etj.
Megjithatë, meqenëse jo të gjitha proçeset mund të evoluojnë njëkohësisht kur kemi vetëm një
proçes fizik, gjendja aktive duhet të zbërthehet në dy gjendjet e mëposhtme (fig. 3.49b):
 gjendja "gati", kur proçesi është aktiv, por nuk po evoluon;
 gjendja "në ekzekutim" kur proçesi evoluon:

Tranzicioni i parë ndodh kur proçesi ndërpritet dhe ka nevojë që të verifikohet ndonjë ndodhi e
jashtme. Tranzicioni i dytë ndodh kur ndodhia e sipër përmendur është verifikuar.
Tranzicioni i tretë ndodh kur bërthama i vë në dispozicion proçesit njësinë qëndrore të
përpunimit. Tranzicioni i katërt ndodh kur proçesit i hiqet njësia qëndrore e përpunimit për shkak
të ndonjë sinjali ndërprerës.
Në rastin e makinave "multiproçesor” nuk kemi ndonjë ndryshim logjik, përveç faktit se disa
proçese mund të ndodhen njëkohësisht në ekzekutim.
4
Aktiv Ne ekzekutim Gati

1 2

Ne pritje Ne pritje

(a) (b)

Fig.3.49

5. KOOPERlMI NDËRMJET PROÇESEVE

Dy proçese kooperojnë kur janë të lidhura logjikisht, p.sh: "që njëri prej tvre të evoluojë duhet që
tjetri të prodhojë të dhënat ".
Dy proçese interferojnë kur nga pikëpamja logjike mund të evoluojnë pavarësisht nga njëri-tjetri,
por që nuk arrijnë të evoluojnë dot, meqenëse numri i burimeve (periferikave, zonave bufer të
memories etj) në sistem është i kufizuar.
Shembulli më i thjeshtë i kooperimit është rasti prodhues konsumator. Një proçes P 1 prodhon të
dhëna dhe i regjistron në një memorie të përkohshme (Bufer); një proçes P 2 (duhet të lexojë të
dhënat dhe t'i përdorë ato (fig. 3.50).

Prodhon te dhena Lexon te dhenat ne tampon

Shkruan te dhenat ne tampon Perdor te dhenat

Fig. 3.50

Pra, për të siguruar një funksionim të rregullt të sistemit është e nevojshme që në zonën bufer
veprimet të kryhen vetëm sipas rendit ''shkrim, lexim, shkrim, lexim . .. . ".
Shembulli më i thjeshtë i interferencës është rasti i përjashtimit të ndërsjelltë: dy ose më shumë
procese mund të kërkojnë njëkohësisht përdorimin e të njëjtit burim.
Në mënyrë që sistemi të funksionojë në rregull, është e nevojshme të përdoren teknika
sinkronizuese.

6. SEMAFORËT BINARE DHE TË PËRGJITHSUAR

Semaforët përbëjnë mekanizmin kryesor për sinkronizimin e proçeseve. Semafori binar është një
ndryshore binare mbi të cilin kryhen dy veprime primitive të quajtura P dhe V . Skema logjike e
veprimeve P dhe V mbi një semafor S paraqitet në figurën 3.51.

Fig. 3.51

Kuptohet që primitiva P duhet të jetë e pandërprershme. Rasti i interferencës ndërmjet disa


proçeseve, që përdorin të njëjtin burim mund të zgiidhet nëpërmjet semaforit, si në figurën 3.52.
Veprime te pavarura nga burimi
P(s)

Veprime qe kryhen mbi burimin e perbashket


V(s)
Fig. 3.52

Në rastin prodhues-konsumator është e nevojshme të përdoren dy semaforë, si në figurën 3.53.


Fillimisht S 1=1 , S 2=0.
Prodhues Konsumatori

“Prodhim i te dhenave” P(S1)


P(S1) “Lexim i te dhenave”

“Regjistrim ne tampon” V(S1)


V(S2) “Perdorimi te dhenave”

Fig. 3.53

Semafor i përgjithësuar është një ndryshore e plotë, jonegative mbi të cilën mund të kryhen dy
veprime primitive P e V , si në figurën 3,54.

Fig. 3.54

Nëpërmjet semaforit të përgithësuar mund të zgjidhen probleme më komplekse, p.sh: rasti


prodhues-konsumator me N zona bufer.

7. NJËSIA QËNDRORE E NJË SISTEMI ME PROÇESE

Njësia qëndrore duhet të kryejë detyrat e mëposhtme:

1. të shpëtojë dhe të rivendosë gjendjen e proçesit.


2. të administrojë primitivat e sinkronizimit;
3. të administrojë ndërprerjet,
4. të zgjedhë, në bazë të teknikave të përshtatshme, proçesin që do tëe kalojë në gjendjen
"ekzekutim" (fig. 3.55).
Ne
ekzekutim 1
INT
3 Ne
pritje
4
Berthama
2
Gati

Fig. 3.55

Administrimi i semaforëve dhe i primitivave.


Një semafor (binar ose i përgjithsuar) realizohet nëpërmjet një ndryshoreje që paraqet vlerën e tij
dhe të një treguesi që adreson listën e proçeseve që presin te semafori, d.m.th që kanë kryer një P
mbi semafor dhe e kanë gjetur "të kuq ".
Proçeset lidhen në listë me anë të treguesit që ndodhet në përshkrues (fig. 3.5b).
Supozohet se një SVC është i shoqëruar me parametrat që i lejojnë bërthamës (njësisë qëndrore)
të njohë motivet e ndërprerjes sinkrone. Këto parametra mund të jenë:
Cila primitivë (P/V) do të kryhet; semafori i interesuar etj.

Vlera
Tregues
Pershkrues
Pershkrues

Fig. 3.56

Si përgjigje ndaj SVC, njësia qëndrore kryen veprimet e paraqitura në figurën 3.57. Në figurën
3.57 eliminohet cikli pritës i figurës 3.54, pra është bërë virtualizimi.

Fig. 3.57

Administrimi i proçeseve ”gati”.


Mënyra më e thjeshtë është e tipit “i pari që vjen; i pari shërbehet". Për këtë mund të ndërtohet
një ose disa radhë të organizuara sipas prioriteti që ndodhet në përshkruesin e proçesit.
Moduli i bërthamës (skedulatori) që merret me administrimin e radhëve të proçeseve "gati" duhet
të jetë mjaft i thjeshtë meqenëse thirret shpeshherë.

8 PRIMITIVAT E KËMBIMIT TË INFORMACIONIT

Nëpërmjet semaforëve dhe primitivave korresponduese bëhet sinkronizimi i proçeseve si në


rastin e kooperimit ashtu edhe të interferencës. Le të shikojmë disa primitiva që lejojnë
sinkronizimin në rastin prodhues–konsumator.

Primitivat "Dergo - Merr " nëpërmjet memories së ndërmjetme

Shqyrtojmë rastin prodhues - konsumator. Përkufizojmë "bufer të komunikimit" një strukturë të


dhënash të përbërë nga dy semaforë S 1 e S2 dhe nga zona D , ku shkruhen të dhënat. Le të jenë
"Dërgo" dhe “Merr" dy primitiva që kryejnë në buferin e komunikimit T veprimet e paraqitura
në figurën 3.58. S 1 e S 2 janë inicializuar me 1 e 0.

Dërgo (bufer, Zona 1) Merr (bufer, Zona 2)


P(S1) P(S2)
"Kopjohet Zona l në D"' "Kopjohet D në Zonën 2"
V(S2) V(S1)
Fig. 3.58

Termi ''Bufer" është emri simbolik i memories ndërmjetëse të komunikimit. "Zona l" dhe "Zona
2" janë dy zona pune përkatësisht të prodhuesit dhe të konsumatorit, nga ku merren dhe
vendosen të dhënat nëpërmjet primitivave (fig, 3.59). Struktura e dy proçeseve prodhuese dhe
konsumatore tregohet në figurën 3.60. Përdorimi i primitivave "Dërgo" dhe "Merr” lehtëson
programin. Këto primitiva mund të bëhen si proçedura të bërthamës (njësisë qëndrore), që
ekzekutohen sa herë që ka një SVC. Ekzekutimi i tyre bëhet me ndërprerje të çaktivizuar, për të
siguruar funksionimin e rregullt.
Tamponi i
komunikimit
Prodhuesi Konsumatori

S1

Zona 1 S2 Zona 2
D

Fig. 3.59

Prodhuesi Konsumatori

“Prodhon te dhena ne Zonen 1” “Merr (tampone, Zona 2”

“Dergo (tampone, Zona 1)” “Perdor te dhena ne Zonen 2”


Fig. 3.60

Primitivat “Dërgo” dhe “Merr” nëpërmjet kutisë postare.

Primitivat e paraqitura paraqesin këto mangësi:


 shpenzohet memoria për zonën D,
 transferimi nga prodhuesi te konsumatori ka nevojë për dy veprime kopjimi.

Për të shmangur këto të meta përdoret mekanizmi i komunikimit me "kuti postare" dhe
"mesazhe”. Kutia Postare është një strukturë të dhënash e përbërë nga:
 një semafor S,
 një tregues që adreson listën e mesazheve.

Mesazhi është një strukturë e përbërë nga:


 një zonë të dhënash;
 një tregues që lejon futjen e mesazhit në listën e kutisë postare.

Në figurën 3.61 paraqitet struktura e primitivave "Dërgo" dhe "Merr", me kuti postale. Semafori
S inicializohet në 1. Konsumatori bllokohet kur kutia është bosh. Prodhuesi mund të prodhojë
një numër të pafund mesazhesh (fig. 3.61). Për të kufizuar gjatësinë e radhës së mesazheve deri
në M mesazhe, futet një semafor i dytë i inicializuar në vlerën M , mbi të cilën primitiva "Dërgo"
kryen veprimin P dhe "Merr" kryen veprimin V .

Semafori
Treguesi

Prodhuesi M1 Konsumatori

M1

M1 “Merr”
“Dergo”

Fig. 3.61

9. BLLOKIMI KRITIK
Sistemi operativ i organizuar me proçese duhet të projektohet në mënyrë të tillë që të mënjanojë
e rastet e mëposhtme:
" P 1 pret diçka nga P 2 dhe P 2 pret diçka nga P 1". Të tilla raste quhen "bllokime kritike".
Shqyrtojmë dy proçese P 1 e P 2 që përdorin dy burime Bl e B 2 sipas strukturës së treguar në
figurën 3.62.

P1 P2

P(S1) P(S2)
(fillon perdorimi i B1) (fillon perdorimi i B1)
. .
. .
. .

P(S2) P(S1)
(fillon perdorimi i B2) (fillon perdorimi i B2)

V(S1) V(S2)
V(S2) V(S1)
(lihen te lire B1 e B2) (lihen te lire B2 e B1)

Fig. 3.62

Shihet se kur veprimet kryhen sipas renditjes së mëposhtme:

P 1 kryen P(S 1) ;
P 2 kryen P(S 2) ;
P 1 kryen P(S 2) ;
P 2 kryen P(S 1) ;

Dy proçeset P 1 e P 2 mbeten të bllokuar në semaforët S 2 e S 1 dhe nuk dalin dot nga ky


bllokim, i cili mund të paraqitet si në figurën 3.63. Në këtë figurë, rathët paraqesin proçeset,
ndërsa harku i orientuar nga P 1 ne P 2 paraqet faktin që " P 1 pret diçka nga P 2".

Le të shikojmë mënyrat e mënjanimit të bllokimit kritik.

CAKTIMI I PËRGJITHSHËM I BURIMEVE.

Sipas kësaj metode, proçcesit P që kërkon n burimet nëpërmjet primitivës "Kërkoj B1,
B2, .....Bn", i shërbehet në këtë mënyrë:
1. Në qoftë se të gjitha burimet e kërkuara janë të lira, ato i vihen në dispozicion proçesit;
"përndryshe, ndërprite proçesin derisa të gjitha burimet të jenë disponibël".

Kjo metodë paraqet këto mangësi:


1. Detyron programuesin të deklarojë të gjitha burimet që ai përdor, ndër të cilat ka edhe
burime që përdoruesi i përdor pa i ditur se cilët janë.
2. Nuk i shfrytëzon mirë burimet meqenëse secila prej tyre mbetet në dispozicion të proçesit
gjatë gjithë jetës së tij dhe jo vetëm gjatë kohës që periferika shfrytëzohet.

GRABITJA E PARAKOHËSHME.
Metoda e grabitjes së parakoheshme qëndron në marrjen "me forcë" të burimit ose burimeve nga
proçesi, atëherë kur verifikohet bllokimi kritik. Të zbulosh nëse sistemi ndodhet në gjendjen e
bllokimit kritik, nuk është diçka e lehtë.

ALGORITMI I BANKIERIT.
Algoritmi presupozon se njihet, për çdo proçes, numri maksimal i burimeve që ai mund të
përdorë. Algoritmi bazohet në kriterin e mëposhtëm:
"kur një proçes kërkon një ose disa burime, ato i caktohen vetëm në qoftë se numri i burimeve që
mbeten të lira është i mjaftueshëm të kënaqë kërkesën maksimale të paktën të njërit prej
proçeseve që disponon ndonjë burim".

10. BLLOKIMI INDIVIDUAL

Metodat e ndryshme të administrimit të burimeve mund të shkaktojnë rrezikun e bllokimit


individual, në të cilin sistemi zhvillohet, por një ose disa proçese mbeten të bllokuara për një
kohë të pacaktuar.
Shqyrtojmë rastin kur ekzistojnë tri proçese P 1, P 2, P 3 dhe dy burime Bl e B 2. Proçeset P 1 e
P 2 kanë nevojë vetëm për një burim, ndërsa P 3 ka nevojë për dy burime. P 1 e P 2 i kërkojnë
burimet vazhdimisht. Le të përdorim metodën e caktimit të përgjithshëm të burimeve.
Supozojme se, për arsye të shfrytëzimit të mirë të burimeve, sa herë që P 3 dhe njëri prej dy
proçeseve të tjera janë në pritje, vendoset që P 3 të mbetet në pritje dhe të fitojë proçesi që
kërkon një burim. Shikohet lehtë se P3 mbetet në pritje derisa rastësisht P 1 e P 2 t'i kenë lëshuar
burimet. Për zgjidhjen e këtyre bllokimeve përdoren metoda komplekse.

P1 P2

You might also like