You are on page 1of 18

Planifikimi i punës së CPU

Konceptet bazë
• Përdorim maksimal i CPU që arrihet me anë të
multiprogramimit
• CPU–I/O Burst Cycle – Ekzekutimi i procesit përbëhet
nga një cikël i ekzekutimit në CPU dhe pritje për I/O
• CPU burst ndiqet nga një I/O burst

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Përzgjedhësi i CPU
Perzgjedhesi afat-shkurtër zgjedh ndërmjet proceseve në radhën gati, dhe ia jep CPU-në njërit prej tyre
Radha mund të implementohet në mënyra të ndryshme, FIFO, me prioritet, pemë, listë e parenditur, etj.
Vendimet ne lidhje me skedulimin e CPU merren kur një proces:
1. Kalon nga gjendja ekzekutim në gjendjen pritje
2. Kalon nga gjendja ekzekutim në gjendjen gati
3. Kalon nga gjendja pritje në gjendjen gati
4. Përfundon
Nëse skedulimi ndodh vetëm në rastin 1 dhe 4 është jo nderpreres, përndryshe është ndërprerës.
Skedulimi jo nderpreres – procesi merr kontrollin e CPU dhe e mban derisa ta leshoje vete ate duke perfunduar
ose kaluar ne gjendje pritje.
Skedulimi nderpreres mund te çoje ne kushtin e gares kur te dhenat perdoren nga disa procese – dy procese
perdorin te njejten te dhene. Ndersa nje prej proceseve eshte duke ndryshuar kete te dhene, nderpritet qe te
ekzekutohet procesi i dyte. Procesi i dyte perpiqet te lexoje te njejten te dhene e cila nuk eshte konsistente.

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Dispatcher-i
• Dispatcher-i ia jep kontrollin e CPU-se procesit te zgjedhur nga
perzgjedhesi afat-shkurter; kjo perfshin:
• Nderrimin e kontekstit
• Kalimin ne menyren perdorues
• pozicionimin ne vendin e duhur ne programin e perdoruesit
per te vazhduar ate program
• Vonesa per dispatch – koha qe i duhet dispatcher-it te ndaloje nje
proces dhe te nis ekzekutimin e nje tjetri

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Kritere skedulimi
• Perdorimi i CPU (CPU utilization) – te mbahet CPU sa me e zene me
pune
• Throughput – numri i proceseve qe perfundojne ekzekutimin e tyre per
njesi kohe
• Koha e qendrimit (Turnaround time) – koha qe duhet per te ekzekutuar
nje proces te vecante
• Koha e pritjes (Waiting time) – koha qe nje proces ka qendruar ne pritje
ne radhen gati
• Koha e pergjigjes (Response tim)e – koha qe duhet qe nga momenti kur
paraqitet nje kerkese derisa eshte prodhuar pergjigja e pare, jo output-i
(per mjediset me ndarje te kohes)

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Kritere optimizimi per algoritmet e skedulimit

• Maksimizim i perdorimit te CPU


• Maksimizim i throughput-it
• Minimizim i kohes se qendrimit
• Minimizim i kohes se pritjes
• Minimizim i kohes se pergjigjes

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Skedulimi First- Come, First-Served (FCFS)

Procesi koha e ekzekutimit


P1 24
P2 3
P3 3
• Supozoni se proceset mberrijne sipas renditjes: P1 , P2 , P3
Diagrama Gantt per skedulimin eshte:

P1 P2 P3
0 24 27 30

• Koha e pritjes per P1 = 0; P2 = 24; P3 = 27


• Mesatarja e kohes se pritjes: (0 + 24 + 27)/3 = 17

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Skedulimi FCFS (Vazhd.)
Supozoni se proceset mberrijne sipas renditjes:
P2 , P3 , P1
• Diagrama Gantt per skedulimin eshte:

P2 P3 P1
0 3 6 30

• Koha e pritjes per P1 = 6; P2 = 0; P3 = 3


• Koha mesatare e pritjes: (6 + 0 + 3)/3 = 3
• Shume me mire se rasti i meparshem
• Efekti konvoj – proceset e shkurter pas proceseve te gjate
• Merrni parasysh nje proces CPU-bound dhe shume procese I/O-bound

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Skedulimi Shortest-Job-First (SJF)
• Çdo procesi i bashkengjitet gjatesia e CPU burst-it te ardhshem
• keto gjatesi perdoren per te skeduluar procesin me kohen me te
shkurter
• SJF eshte optimal –jep kohe pritje mesatare minimale per nje bashkesi
te dhene procesesh
• Veshtiresia qendron ne faktin qe duhet te njohesh gjatesine e
kerkeses tjeter per CPU-ne
• Mund t’i kerkohet perdoruesit

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Shembull per SJF

ProcesiArriva l Time koha e ekzekutimit ne CPU


P1 0.0 6
P2 2.0 8
P3 4.0 7
P4 5.0 3

• Diagrama per skedulimin SJF


P4 P1 P3 P2
0 3 9 16 24

• Mesatarja e kohes se pritjes = (3 + 16 + 9 + 0) / 4 = 7

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Percaktimi i gjatesise se ekzekutimit te ardhshem ne
CPU
• Mund te parashikohet gjatesia – duhet te jete e ngjashme me te meparshmen
• Me pas zgjidhet procesi i cili ka gjatesine e ardhshme te parashikuar (te
ekzekutimit ne CPU) me te shkurter
• Mund te percaktohet duke perdorur ekzekutimet e meparshme ne CPU, duke
perdorur mesatarizimin eksponencial
tn gjatesia e CPU burst-it te n
τn+1 Vlera e parashikuar per CPU burst-in e radhes

 n =1 =  t n + (1 −  ) n .

• zakonish, α vendoset ½
• Versioni nderpreres quhet shortest-remaining-time-first

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Shembull per SRT (Shortest-remaining-time-first)

• Ne analize shtohet koncepti i koheve te ndryshme te mberritjes dhe


nderprerjen
ProcesiA arri koha e mberritjes koha e ekzekutimit ne CPU
P1 0 8
P2 1 4
P3 2 9
P4 3 5
• Diagrama Gantt per SJF nderpreres

P1 P2 P4 P1 P3
0 1 5 10 17 26

• Mesatarja e kohes se pritjes= [(10-1)+(1-1)+(17-2)+5-3)]/4 = 26/4 = 6.5 msec

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Skedulimi me ane te prioritetit
• Çdo procesi i caktohet nje numer prioriteti

• CPU i caktohet procesit me prioritetin me te larte (numri me i vogel =


prioritet me i larte)
• nderpreres
• jonderpreres

• SJF eshte skedulim me prioritet ku prioriteti eshte inversi i ekzekutimit (te


parashikuar) te ardhshem ne CPU

• Problemi  pritja e pafundme (Starvation) – proceset me prioritet te ulet


mund te mos ekzekutohen asnjehere

• Zgjidhja  Aging – me kalimin e kohes rritet prioriteti i procesit

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Shembull per skedulimin me
prioritet
ProcesiAarri koha e ekzekutimit ne CPUT Prioriteti
P1 10 3
P2 1 1
P3 2 4
P4 1 5
P5 5 2

• Diagrama Gantt per skedulimin me prioritet

P1 P2 P1 P3 P4
0 1 6 16 18 19

• Mesatarja e kohes se pritjes = 8.2 msec

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Round Robin (RR)
• Çdo proces merr nje njesi te vogel te kohes se CPU-se (q-quantum),
zakonisht 10-100 milisekonda. Pasi kalon kjo kohe, procesi nderpritet
dhe shtohet ne fund te radhes gati.
• Nese jane n procese ne radhen gati dhe quantum eshte q, atehere çdo
proces merr 1/n e kohes se CPU-se ne pjese me gjatesi te shumten q
njesi kohe. Asnje proces nuk pret me shume se (n-1)q njesi kohe.
• Timer-i shkakton nderprerje (interrupts) çdo quantum per te skeduluar
procesin tjeter
• Performanca
• q e madhe  FIFO
• q e vogel  q duhet te jete e madhe ne lidhje me kohën për
nderrimin e kontekstit

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Shembull per RR me q= 4
Procesi ekzekutimi ne CPU
P1 24
P2 3
P3 3
• Diagrama Gantt eshte:

P1 P2 P3 P1 P1 P1 P1 P1
0 4 7 10 14 18 22 26 30

• q duhet te jete e madhe krahasuar me kohen e nderrimit te kontekstit


• q zakonisht 10ms deri 100ms, nderrimi i kontekstit < 10 usec

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Koha e Quantum dhe koha e nderrimit te kontekstit

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne
Koha e qendrimit ndryshon ne varesi te kohes se quantum

80% e ekzekutimeve ne
CPU (CPU bursts) duhet
te jete me e shkurter se
q

Pershtatur nga Operating System Concepts-9th edition Silberschatz, Galvin dhe Gagne

You might also like