Professional Documents
Culture Documents
Sisteme Shfrytezimi
Leksion 2
Iralda Mitro
Koncepti i procesit
Aktiviteti I CPU:
Ne sistemet Batch ekzekuton 1 pune
Ne sistemet Time-sharing ekzekutohen disa detyra
Procesi ne memorje
Iralda Mitro
Gjendjet e procesit
Gjate ekzekutimit procesi ndryshon
gjendje:
new: Procesi po krijohet
running: Instruksionet e procesit po
ekzekutohen
waiting: Procesi po pret qe te ndodhe
nje ngjarje
ready: Procesi po pret qe te marre
kontrollin e CPU dhe te vazhdoje
ekzekutimin
Iralda Mitro
terminated: Procesi
ka perfunduar
Iralda Mitro
Iralda Mitro
Planifikimi i proceseve
Qellimi I multiprogramming eshte qe te
kemi vazhdimisht procese ne ekzekutim
Sistemi time-sharing -> kontrolli I CPU te
kaloje nga 1 proces ne tjetrin duke lejuar
perdoruesit te nderveprojne me punen,
ndersa ajo po ekzekutohet
Ne sisteme me 1 procesor nuk kemi me
shume se 1 proces ne ekzekutim (Kur ka
disa procese, IDLE, derisa CPU te zgjedhe
proceset)
Iralda Mitro
Proceset
Iralda Mitro
10
11
Iralda Mitro
12
Skeduluesit
Long-term scheduler (job scheduler)
Perzgjedhesi afatgjate zgjedh se cilet
procese duhen sjelle ne rradhen Ready
Short-term scheduler (CPU
scheduler) Perzgjedhesi afatshkurter
zgjedh se cilet procese duhet te
ekzekutohen ne vijim dhe huazon CPU
Iralda Mitro
13
Schedulers (Cont.)
Perzgjedhesi afatshkurter therritet
shume shpesh (ms) (duhet te jete i
shpejte)
Perzgjedhesi afatgjate therritet me
rralle (s, min) (mund te jete i
ngadalte)
Iralda Mitro
14
Iralda Mitro
15
Krijimi i proceseve
Procesi prind krijon nje bir, I cili nga ana tjeter
krijon procese te tjere, duke formuar keshtu nje
Peme procesesh
Ndarja e burimeve
Prinderit dhe bijte I ndajne te gjitha burimet
Bijte ndajne vetem disa burime te prinderve
Prindi dhe biri nuk I ndajne burimet
Ekzekutimi
Prindi ekzekutohet sebashku me bijte
Prindi pret qe te perfundoje se ekzekutuari biri
I tij
Iralda Mitro
16
Krijimi i proceseve
Iralda Mitro
17
Iralda Mitro
18
Perfundimi i procesit
Procesi ekzekuton instruksionin e fundit, dhe I
kerkon sistemit te shfrytezimit qe ta fshije ate
(exit)
Dalja e te dhenave nga biri tek prindi (me
wait)
Chuazimi I burimeve te procesit nga sistemi I
shfrytezimit
Prindi mund te shkaktoje perfundimin e proceseve
bij (abort)
Biri ka tejkaluar burimet e huazuara
Detyra e caktuar birit nuk duhet me
Iralda Mitro
19
Nese prindi po perfundon,
perfundojne edhe
Bashkeveprimi i proceseve
Procesi i pavarur nuk mund ndikoje ose te
ndikohet nga ekzekutimi I nje procesi tjeter
Procese bashkeveprues mund te ndikoje
ose te ndikohet nga ekzekutimi I nje procesi
tjeter
Avantazhet e bashkeveprimit te proceseve
Ndarja e informacionit
Shpejtimi I llogaritjeve
Modulariteti
Lehtesi
Iralda Mitro
20
Problemi ProdhuesKonsumator
Paradigma e proceseve bashkeveprues
procesi prodhues prodhon informacion qe
konsumohet nga procesi konsumator
Prodhuesi I vendos objektet ne Buffer dhe
konsumatori I merr nga bufferi
unbounded-buffer nuk ka limit ne
madhesine e buffer
bounded-buffer supozon se ka nje
madhesi fikse te bufferit
Iralda Mitro
21
Te dhena te perbashketa
#define BUFFER_SIZE 10
Typedef struct {
...
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0;
22
23
24
Interprocess
Communication (IPC)
25
Pyetjet e implementimit
Si jane ndertuar linjat e komunikimit?
A mund te shoqerohet nje linje me me shume se
2 procese?
Sa linja komunikimi mund te vendosen midis cdo
cifti procesesh komunikues?
Sa eshte kapaciteti I nje linje?
A eshte madhesia e mesazhit fikse apo variabel?
Cfare drejtimi ka linja njedrejtimor ose
dydrejtimor?
Iralda Mitro
26
Modelet e komunikimit
Iralda Mitro
27
Komunikimi direkt
Proceset duhet ti emerojne njeri tjetrin ne menyre
eksplicite:
send (P, message) dergo nje mesazh tek procesi P
receive(Q, message) merr nje mesazh nga
procesi Q
Vecorite e linjes se komunikimit
Linjat vendosen automatikisht
Nje linje i bashkengjitet ekzaktesisht nje cifti
procesesh komunikues
Midis cdo cifti ekziston vetem 1 linje
Linja mund te jete njedrejtimore ose dydrejtimore
Iralda Mitro
28
Komunikimi indirekt
Mesazhet drejtohen dhe merren nga mailbox(portat)
Cdo mailbox ka nje ID unike
Proceset mund te komunikojne vetem nese ndajne
nje mailbox.
Vecorite e linjes se komunikimit
Linja vendoset vetem nese proceset ndajne nje
mailbox te perbashket
Nje linje mund te lidhet me shume procese
Cdo cift procesesh mund te ndaje disa linja
komunikimi
Linja mund te jete njedrejtimore ose dydrejtimore
Iralda Mitro
29
Komunikimi indirekt
Veprimet qe duhen kryer
Krijimi I nje mailbox
Dergo/merr mesazhe nepermjet mailbox
Shkaterro mailbox
Primitivat percaktohen si:
send(A, message) dergon nje mesazh ne
mailbox A
receive(A, message) merr nje mesazh nga
mailbox A
Iralda Mitro
30
Iralda Mitro
31
Sinkronizimi
Mesazhi mund te jete bllokues ose jo-bllokues
Bllokues konsiderohet sinkron
Dergim bllokues bllokon derguesin derisa
mesazhi te merret
Marrje bllokuese bllokon marresin derisa
mesazhi te jete I disponueshem
Jo-bllokues konsiderohet asinkron
Dergim jo-bllokues derguesi e dergon
mesazhin dhe vazhdon
Marrje jo-bllokuese marresi merr nje
mesazh te vlefshem ose null
Iralda Mitro
32