Professional Documents
Culture Documents
Leksion 6 - Skedulimi I CPU
Leksion 6 - Skedulimi I CPU
LEKSION 6
L i b r i : “ O p e r a t i n g S y s t e m C o n c e p t s ” S i l b e r s c h a t z , A . , G a l v i n , P. a n d G a g n e , G .
(Faqe:203-230)
MULTIPROGRAMIMI
Multiprogramimi
›Në sistemet me një procesor, normalisht ekzekutohet vetëm një proces. Proceset e tjera duhet të
presin derisa të jetë e lirë CPU. Qëllimi i multiprogramimit është që në të njejtin moment të jenë në
ekzekutim disa procese që të maksimizohet përdorimi i CPU.
›Një proces ekzekutohet derisa të vijë koha e pritjes për plotësimin e disa kërkesave I/O.
›CPU qëndron si i “papunë”. Pra kemi një kohë të humbur sepse nuk do kryheb asnjë punë tjetër CPU.
Me anë të multiprogramimit , shfrytëzohet kjo kohë që të jetë sa më produktive.
›Disa procese mbahen në memorie në të njëjtin moment. Kur një proces është në statusin wait,
sistemi i shfrytëzimit e kalon CPU tek një proces tjetër. Ky model ndiqet sa herë një proces kalon në
statusin wait (pritje).
Multiprogramimi
Skedulimi i kësaj procedure është
sistemit të operimit.
përdor CPU.
varion 40%-80%.
iii.Turnaround time → Koha totale që nevojitet për ekzekutimin e një procesi specifik. Eshtë
iv. Turnaround time = koha e ngarkimit në memorie + koha e pritjes në listën gati + koha e procesorit + koha I/O
v.Waiting time → Koha totale e pritjes së një procesi në rradhën gati (ready queue).
ii. Maksimizim i numrit të proceseve të cilët përfundojnë ekzekutimin për njësi të kohës
Kriteri përdoret në sistemet interaktive për të parë kohën e përgjigjes së këtyre sistemeve
ndaj kërkesave.
ALGORITME
SKEDULUES
Algoritmet Skedulues
SJF
O SR
L IF T
Pri
FS
ori
FC
tet
Koncepte
›Arrival time = Arritja (AT)
›Burst Time = Koha Ekzekutimit (BT)
›Completion Time = Koha përfundimit (CT)
›Turn Around Time (TAT) = sasia e kohës që duhet për të përmbushur kërkesën nga procesi
TAT = CT - AT
›Waiting time/Koha e pritjes (WAT) = është koha e kaluar nga një proces në radhë në pritje për t'u
›Avantazh:
› Shumë i thjeshtë
›Disavantazh:
› Koha mesatare e pritjes varet nga rradha e mbërritjes
FCFS - Shembull 1 (AT = 0)
P1 0 10
P2 0 3
P3 0 5
BT(P1) = 10 »» P1 = 0 + 10 = 10
BT(P2) = 3 »» P2 = 10 + 3 = 13
BT(P3) = 5 »» P3 = 13 + 5 = 18
P1 P2 P3
0 10 13 18
FCFS - Shembull 1 (AT = 0)
Për secilin proces, gjejmë TAT, WAT dhe AWAT (average WAT).
Procesi Arritja (AT) Koha Ekzekutimit (BT) Koha përfundimit TAT WAT
(CT) (CT-AT) (TAT-BT)
P1 0 10 10
P2 0 3 13
P3 0 5 18
P1 0 10 10 10 (10-0) 0 (10-10)
P2 0 3 13 13 (13-0) 10 (13-3)
P3 0 5 18 18 (18-0) 13 (18-5)
P1 2 2
P2 5 6
P3 0 4
P4 0 7
P5 7 4
FCFS - Shembull 2 (AT ≠ 0)
P3 P4 P1 P2 P5
0 4 11 13 19 23
FCFS - Shembull 2 (AT ≠ 0)
Për secilin proces, gjejmë TAT, WAT dhe AWAT (average WAT).
Procesi Arritja (AT) Koha Ekzekutimit (BT) Koha përfundimit TAT WAT
(CT) (CT-AT) (TAT-BT)
P1 2 2 13
P2 5 6 19
P3 0 4 4
P4 0 7 11
P5 7 4 23
P2 5 6 19 19-5=14 14-6=8
P3 0 4 4 4-0=4 4-4=0
P4 0 7 11 11-0=11 11-7=4
P5 7 4 23 23-7=16 16-4=12
P1 0 8
P2 0.4 4
P3 1.05 1
P1 0 2
P2 1 10
P3 5 6
Problem:
◦ Proceset e para mund të mos e arrijnë asnjëherë CPU
LIFO - Shembull 3 (AT=0)
P1 0 10
P2 0 3
P3 0 5
P3 P2 P1
0 5 8 18
LIFO - Shembull 3 (AT=0)
Gantt Chart
BT(P3) = 0 »» P3 = 0 + 5 = 5
BT(P2) = 3 »» P4 = 5 + 3 = 8
BT(P1) = 5 »» P1 = 8 + 10 = 18
P3 P2 P1
0 5 8 18
LIFO - Shembull 3 (AT=0)
P1 0 10 18 18 8
P2 0 3 8 8 5
P3 0 5 5 5 0
=(P1 + P2 + P3)/3
=(8+5+0)/3=4.3ms
LIFO - Shembull 4 (AT≠0)
P1 P2 P3
0 10 13 18
LIFO - Shembull 4 (AT≠0)
P1 0 10
P2 7 3
P3 1 5
P1 P2 P3
0 10 13 18
LIFO - Shembull 4 (AT≠0)
Procesi Arritja (AT) Koha Ekzekutimit (BT) Koha përfundimit TAT WAT
(CT) (CT-AT) (TAT-BT)
P1 0 10 10 10 0
P2 7 3 13 6 3
P3 1 5 18 17 12
=(P1 + P2 + P3)/3
=(0+3+12)/3=5ms
Shortest Job First (SJF)
Shortest Job First (SJF)
SJF - Shortest Job First
◦ Zgjidhet detyra me kohën më të shkurtër të ekzekutimit
◦ Më optimali për minimizimin e kohës mesatare të pritjes
◦ Algoritëm jo ndalues (non preemptive)
Problem:
◦ E vështirë perllogaritja e kohës së ekzekutimit për procesin e rradhës
SJF - Shembull 4
P2 P3 P1
0 3 6 30
SJF - Shembull 4
PROCESI ARRITJA (AT) KOHA EKZEKUTIMIT (BT)
P1 0 24
P2 0 3
P3 0 3
P2 P3 P1
0 3 6 30
SJF - Shembull 4
Ndërtojmë Gantt Chart për skedulimin.
Procesi Arritja (AT) Koha Ekzekutimit (BT) Koha përfundimit TAT WAT
(CT) (CT-AT) (TAT-BT)
P1 0 24 30 30 6
P2 0 3 3 3 0
P3 0 3 6 6 3
=(P1 + P2 + P3)/3
=(6+0+3) / 3 = 3ms
Shortest Remaing Time (SRT)
Shortest Remaing Time (SRT)
skedulimit ndalues
SRT - Shembull 5
P1 P2 P3 P4
0 2 6 8 13
SRT - Shembull 5
PROCESI ARRITJA (AT) KOHA EKZEKUTIMIT (BT)
P1 0 7
P2 2 4
P3 4 2
P1 P2 P3 P4
0 2 6 8 13
SRT - Shembull 5
Ndërtojmë Gantt Chart për skedulimin.
Procesi Arritja (AT) Koha Ekzekutimit (BT) Koha përfundimit TAT WAT
(CT) (CT-AT) (TAT-BT)
P1 0 7 13 13 6
P2 2 4 6 4 0
P3 4 2 8 4 2
=(P1 + P2 + P3)/3
=(6+0+2)/3=2.67ms
Round Robin (RR)
Round Robin (RR)
Çdo proces merr kontrollin e CPU për një kohë të paracaktuar (quantum q), zakonisht 10-100 milisekonda. Pas
kësaj kohe ndërpritet ekzekutimi i procesit i cili shtohet në fund të rradhës gati (ready queuE)
Nëse janë n procese në rradhën gati dhe koha quantum është q atëherë asnjë proces nuk pret më shumë se
(n-1)q njësi kohore
Pas çdo njësie kohore (quantum) skedulohet një proces tjetër
Performanca
q i lartë -> FIFO
q i vogël -> q duhet të jetë mjaftueshëm i madh krahasuar me kohën e nevojshme për ndryshimin e
kontekstit
RR - Shembull 6
P1 P2 P3 P1
0 4
RR - Shembull 6
PROCESI ARRITJA (AT) KOHA EKZEKUTIMIT (BT)
P1 0 24
P2 1 3
P3 2 3
P1 P2 P3 P1
0 4
RR - Shembull 6
Ndërtojmë Gantt Chart për skedulimin.
Procesi Arritja (AT) Koha Ekzekutimit (BT) Koha përfundimit TAT WAT
(CT) (CT-AT) (TAT-BT)
P1 0 24 30 30 6
P2 1 3 7 6 3
P3 2 3 10 8 5
=(P1 + P2 + P3)/3
=(6+3+5)/3=4.67ms
Algoritmi Skedulues me Prioritet
Algoritmi Skedulues me Prioritet
•Një numër prioriteti (integer) i bashkëngjitet çdo procesi
•Kontrolli i CPU i kalohet procesit me prioritetin më të lartë (numri më i vogël integer = prioriteti
më i lartë)
•Jo-ndalues - SJF një rast i veçantë i algoritmit me prioritet
Problemet
Starvation - Proceset me prioritet më të ulët mund të mos ekzekutohen asnjëherë Zgjidhja
Aging - Me kalimin e kohës, rritet prioriteti i proceseve
Algoritmi Skedulues me Prioritet
P2 P5 P1 P3 P4
0 1 6 16 18 19
Algoritmi Skedulues me Prioritet
P1 3 10
P2 1 1
P3 4 2
P4 5 1
P5 2 5
Algoritmi Skedulues me Prioritet
P1 3 10 16 16 6
P2 1 1 1 1 0
P3 4 2 18 18 16
P4 5 1 19 19 18
P5 2 5 6 6 1
PYETJE?
jora.banda@uet.edu.al
B502
FALEMINDERIT!