You are on page 1of 32

Proceset

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

Process nje program ne ekzekutim;


progresi i procesit ecen ne menyre
sekuenciale
Nje proces perfshin:
Numratori I instruksioneve
Stiva e te dhenave te perkohshme
Seksioni I te dhenave
Iralda Mitro

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

Diagram of Process State

Iralda Mitro

Process Control Block (PCB)


Informacioni qe lidhet me cdo proces
Gjendja e procesit
Program counter (tregon instruksionet
pasardhes qe do te ekzekutohen)
Permbajtja e regjistrave te CPU
Informacion per skedulimin e CPU
Informacion per administrimin e
memorjes
Informacion mbi llogaritjet
Informacion mbi I/O
Iralda Mitro

Process Control Block (PCB)

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

Multiprogramming I kater programeve


Model konceptual I 4 proceseve te pavarur dhe
sekuenciale
Vetem nje program aktiv ne nje moment te caktuar
9

Iralda Mitro

10

Rradhet e skedulimit te CPU


Job queue rradha e proceseve ne
sistem
Ready queue rradha e proceseve ne
kujtese qendrore, ready/waiting per tu
ekzekutuar
Device queues rradha e proceseve
ne pritje per pajisjen I/O
Proceset kalojne neper rradha te
ndryshme
Iralda Mitro

11

Diagrama e rradheve te skedulimit

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

Context Switch - Nderrimi i


kontekstit
Kur CPU kalon ne nje proces tjeter, sistemi
duhet te ruaje gjendjen e procesit te vjeter
dhe te ngarkoje gjendjen e ruajtur te
procesit te ri
Koha e nderrimit te kontekstit shkon dem,
sepse sistemi nuk ben asgje te nevojshme
gjate nderrimit
Kjo kohe varet nga lloji i Hardware

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

Nje peme procesesh ne Solaris

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

Bounded-Buffer Zgjidhje me memorje te perbashket

Te dhena te perbashketa

#define BUFFER_SIZE 10
Typedef struct {
...
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0;

Mund te perdoren vetem BUFFER_SIZE-1 elemente


Iralda Mitro

22

Bounded-Buffer Metoda Insert()


w hile (true)
{
/* Produce an item */
w hile (((in = (in + 1) % BU FFER SIZE
count) = = out)
; /* do nothing -- no free buff
ers */
buff
er[in] = item ;
in = (in + 1) % BU FFER SIZE;
{
Iralda Mitro

23

Bounded Buffer Metoda Remove()


w hile (true) {
w hile (in = = out);
// do nothing -- nothing to
consum e
// rem ove an item from the buff
er
item = buff
er[out];
out = (out + 1) % BU FFER SIZE;
return item ;
{
Iralda Mitro

24

Interprocess
Communication (IPC)

Mekanizem per proceset qe te komunikojne sinkronizojne


veprimet e tyre
Sistemi I mesazheve proceset komunikojne me njeri tjetrin
pa ndihmen e variablave te perbashket
IPC mundeson 2 veprime:
send(message) madhesia e mesazhit eshte fikse ose
variabel
receive(message)
Nese P dhe Q duan te komunikojne ata duhet te:
Vendosin nje linje komunikimi midis tyre
Kembejne mesazhet me send/receive
Implementimi I linjes se komunikimit
fizik (memorje e perbashket, bus I hardware)
Logjike (vecori logjike)
Iralda Mitro

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

Rast i Komunikimit indirekt


Ndarja e mailbox
P1, P2, dhe P3 ndajne nje mailbox A
P1, dergon; P2 dhe P3 marrin
Kush e merr mesazhin?
Zgjidhjet
Lejo qe linja ti atashohet te shumten 2 proceseve
Lejo qe vetem nje proces te marre mesazhin ne
nje moment te caktuar
Lejo sistemin qe te zgjedhe arbitrarisht marresin.
Derguesi njoftohet se kush ishte marresi.

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

You might also like