ligjerata 6 orari i cpu se
DESCRIPTION
okjTRANSCRIPT
![Page 1: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/1.jpg)
ORARI I CPU-së
(CPU SCHEDULING)
___________________________
KAPITULLI 6
Prof. Ass. Dr. Isak Shabani
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 1
![Page 2: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/2.jpg)
Orari i CPU
• Konceptet Bazë
• Kriteri i Orarit
• Algoritmet e Orarit
• Thread Orari
• Orari për Shumë Procesorë (ang. Multiple-
Processor)
• Shembuj të Sistemeve Operative
• Vlerësimi i Algoritmeve
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 2
![Page 3: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/3.jpg)
Objektivat
• Hyrje në orarin e CPU, i cili është bazë e sistemeve
operative të multiprogramuara
• Të përshkruhen algoritme të ndryshme të orarit të CPU
• Të diskutohen kriteret vlerësuese për zgjedhjen e
algoritmit të orarit të CPU për sistem të caktuar
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 3
![Page 4: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/4.jpg)
Konceptet Bazike
• Utilizim maksimal i CPU arrihet përmes
multiprogramimit
• CPU–I/O Burst Cycle – Ekzekutimi i procesit
përmban cikël të ekzekutimeve të CPU dhe pritjeve
I/O
• Shpërndarja e CPU burst
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 4
![Page 5: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/5.jpg)
Histogrami i Kohës së CPU-burst
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 5
![Page 6: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/6.jpg)
Sekuenca Alternative e CPU dhe I/O Bursts
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 6
![Page 7: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/7.jpg)
Orari i CPU
• Zgjedhë në mes të proceseve në memorie të cilat janë të
gatshme për ekzekutim, dhe e alokon CPU te një prej tyre
• Vendimet e orarit CPU mund të zënë vend kur procesi:
1. Kalon nga gjendja e lëshimit (running) në gjendjen pritëse
(waiting state)
2. Kur kalon nga gjendja e lëshimit në gjendje të gatshme (ready
state)
3. Kalon nga pritja (waiting) në të gatshme (ready)
4. Përfundon (ang. Temrminates)
• Orari nga 1 dhe 4 është nonpreemptive
• Të gjitha oraret tjera janë preemptive
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 7
![Page 8: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/8.jpg)
Dispatcher
• Moduli Dispatcher i jep kontrollin e CPU proceseve
të zgjedhura nga orari afat-shkurtërë kjo përfshinë:
• Ndryshimi i kontekstit
• Kalimi në user mode
• Kërcimi në lokacionin e duhur në programin e shfrytëzuesit
për të rinisur atë program
• Dispatch latency – koha për të cilen dispatcheri
ndalon një proces dhe e fillon një tjetër në lëshim
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 8
![Page 9: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/9.jpg)
Kriteri i Orarit • Utilizimi i CPU – mbajë CPU të ngarkuar sa më shumë të
jetë e mundur
• Throughput – # numri i procesve që kompletojnë ekzekutimin e tyre për njësi kohore
• Turnaround time – sasia e kohës për të ekzekutuar një proces të caktuar
• Waiting time – koha për të cilën procesi ka qenë në pritje në radhë të proceseve të gatshme
• Response time – koha e nevojshme nga koha kur është bërë kërkesa gjerë në përgjigjen e parë, jo output (për ambientet me kohë-të-ndarë)
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 9
![Page 10: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/10.jpg)
Kriteri i Optimizimit të Algoritmit të Orarit
• Utilizim Max i CPU
• Max throughput
• Min turnaround time
• Min waiting time
• Min response time
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 10
![Page 11: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/11.jpg)
Orari First-Come, First-Served (FCFS)
Proceset Burst Time
P1 24
P2 3
P3 3
• Të supozojmë se proceset arrijnë në rënditjen: P1 , P2 , P3
Gantt Charti për orarin do të jetë:
• Koha e pritjes për P1 = 0ë P2 = 24ë P3 = 27
• Koha mesatare e pritjes: (0 + 24 + 27)/3 = 17
P1 P2 P3
24 27 30 0
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 11
![Page 12: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/12.jpg)
Orari FCFS (Vazh.)
Të supozojmë se proceset arrijnë në këtë rënditje:
P2 , P3 , P1
• Gantt chart-i për orarin është:
• Koha epritjes për P1 = 6ë P2 = 0ë P3 = 3
• Koha mesatare e pritjes: (6 + 0 + 3)/3 = 3
• Shumë më mirë se rasti paraprak
• Efekti i konvoit është procesi i shkurtër prapa procesit të gjatë
P1 P3 P2
6 3 30 0
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 12
![Page 13: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/13.jpg)
Orari Shortest-Job-First (SJF)
• Shoqëro me secilin proces gjatësinë e CPU burst-it të tij
vijuës. Përdor këto gjatësi për të bërë orarin e procesit me
kohë më të shkurtër
• SJF është optimal – jep kohën mesatare minimale të
pirtjes për bashkësinë e proceseve të dhëna
• Vështirësia është në njohjen e gjatësisë së CPU kërkesës vijuëse
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 13
![Page 14: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/14.jpg)
Shembull i SJF
Proceset Arrival Time Burst Time
P1 0.0 6
P2 2.0 8
P3 4.0 7
P4 5.0 3
• Chart për orarin SJF
• Koha mesatare e pritjes = (3 + 16 + 9 + 0) / 4 = 7
P4 P3 P1
3 16 0 9
P2
24
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 14
![Page 15: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/15.jpg)
Përcaktimi i Gjatësisë së CPU Burst-it vijuës
• Mund të përcaktohet vetëm gjatësia
• Mund të arrihet duke shfrytëzuar gjatësinë e CPU
burst-ave paraprak, duke shfrytëzuar mesataren
eksponencial
:Definim 4.
10 , 3.
ardhshëm burst të CPUpër predikuar e vlera 2.
burst CPU e g 1.
1
n
th
n naktualejatësiat
.1 1 nnn
t
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 15
![Page 16: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/16.jpg)
Parashikimi i Gjatësisë së CPU Burst të Ardhshëm
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 16
![Page 17: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/17.jpg)
Shembuj të Mesatarës Eksponenciale
• =0 • n+1 = n
• Historia e fundit nuk numërohet
• =1 • n+1 = tn
• Vetëm CPU burst aktual i fundit numërohet
• Nëse e zgjerojmë formulën, marrim: n+1 = tn+(1 - ) tn -1 + …
+(1 - )j tn -j + …
+(1 - )n +1 0
• Gjetëras të dyjat dhe (1 - ) janë më të vogla ose të barabarta me 1, secili term suksesiv ka më pak peshë se paraardhësi i tij
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 17
![Page 18: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/18.jpg)
Orari Prioritar
• Numër prioriteti (integer) i shoqërohet secilit proces
• CPU alokohet tek procesi me prioritet më të lartë (numri i plotë më i vogël prioriteti më i lartë) • Preemptive
• Nonpreemptive
• SJF është orar me prioritet ku prioriteti është koha e predikatit të CPU burst-it të ardhshëm
• Problemi Starvation – proceset me prioritet të ulët mund të mos ekzekutohen fare
• Zgjidhje Aging – me progresin e kohës rrit prioritetin e procesit
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 18
![Page 19: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/19.jpg)
Round Robin (RR)
• Secili proces merr një njësi të vogël të kohës së CPU (time
quantum), zakonisht 10-100 millisekonda. Pas kalimit të
kësaj kohe, procesi është premtpuar (ndërprerja e procesit)
dhe vendoset në fund të radhës së gatshme.
• Nëse janë n procese në radhë të gatshme dhe time
quantum është q, atëherë secili proces merr 1/n të kohës së
CPU në copëza të së paku q njësi kohe përnjëherë. Asnjë
proces nuk pret më shumë se (n-1)q njësi kohore.
• Performanca
• q e madhe FIFO
• q e vogel q duhet të jetë e madhe në lidhje me ndryshimin e
kontekstit, përndryshe ngarkesa është shumë e madhe
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 19
![Page 20: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/20.jpg)
Shembull i RR me Time Quantum = 4
Proceset Burst Time
P1 24
P2 3
P3 3
• Gantt charti është:
• Zakonisht, mesatarja më e lartë e turnaround se SJF, por përgjegjësi më të mirë
P1 P2 P3 P1 P1 P1 P1 P1
0 4 7 10 14 18 22 26 30
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 20
![Page 21: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/21.jpg)
Time Quantum dhe Koha e Ndryshimit të Kontekstit
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 21
![Page 22: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/22.jpg)
Koha Turnaround varet nga Koha e Kuantumit
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 22
![Page 23: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/23.jpg)
Radha Shumë-nivelëshe
• Radha Ready është e ndarë në radhë parciale:
foreground (interaktive)
background (batch/grumbuj)
• Secila radhë ka algoritmin e vet të orarit
• sfondi– RR
• prapavija– FCFS
• Orari duhet të bëhet në mes të radhëve
• Orarë fiks të prioriteteveë (p.sh., shërbe të gjitha nga sfondi
atëherë nga prapavija). Mundësi e starvation.
• Ndarja Kohore – secila radhë merr sasi të caktuar të kohës së
CPU të cilën mund ta vendos në orar në mes të proceseveë
p.sh., 80% në sfond në RR
• 20% në prapavijë në FCFS
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 23
![Page 24: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/24.jpg)
Orarët me Radhë Shumë-Nivelëshe
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 24
![Page 25: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/25.jpg)
Radhët Kthyëse Shumë-Nivelëshe • Procesi mund të lëvizë në mes të radhëve të
ndryshmeë mplakja (aging) mund të implementohet në këtë mënyrë
• Orari me Radhë-Kthyëse shumë-nivelëshe i definuar me parametrat vijuës: • Numër të radhëve (ang.,queues)
• Algoritma të orarit për secilën radhë
• Metoda e shfrytëzuar për të përcaktuar kur të bëhet ngritja e procesit
• Metoda e shfrytëzuar për të përcaktuar kur të bëhet zbritja në pozitë e procesit
• Metoda e shfrytëzuar për të përcaktuar se cila radhë e procesit do të futet kur ai proces ka nevojë për shërbim
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 25
![Page 26: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/26.jpg)
Shembull i Radhës Kthyëse Shumë-nivelëshe
• Tri radhë:
• Q0 – RR me time quantum 8 ms
• Q1 – RR time quantum 16 ms
• Q2 – FCFS
• Orari
• Një punë e re futet në radhën Q0 e cila shërbhet FCFS. Kur e fiton
CPU, puna merr 8 milisekonda. Nëse nuk përfundon në 8
milisekonda, puna lëvizë në radhën Q1.
• Në Q1 puna prap shërbehet në FCFS dhe merr 16 milisekonda
shtesë. Nëse ende nuk përfundon, preemptohet dhe lëvizet në
radhën Q2.
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 26
![Page 27: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/27.jpg)
Radhës Kthyëse Shumë-Nivelëshe
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 27
![Page 28: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/28.jpg)
Orari i Fijeve (Threads)
• Dallimi në mes të fijeve të nivelit-shfrytëzues dhe kernel-nivelit
• Shumë-në-një dhe shumë-me-shumë modelet, livraria e fijeve bën orarin e fijeve të nivelit-shfrytëzues që të lëshohen në LWP
• E njohur si process-contention scope (PCS) gjerësa gara e orarit është përbrenda procesit
• Fija Kernel me orar në CPU të gatshme është system-contention scope (SCS) – gara në mes të fijeve në sistem.
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 28
![Page 29: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/29.jpg)
Orari Pthread
• API lejon specifikimin e PCS ose SCS gjatë krijimit të
fijes
• PTHREAD SCOPE PROCESS bën orarin për fijet duke
shfrytëzuar PCS orarin
• PTHREAD SCOPE SYSTEM bën orarin e fijeve duke
shfrytëzuar SCS orarin.
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 29
![Page 30: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/30.jpg)
API i Orarit Pthread
#include <pthread.h>
#include <stdio.h>
#define NUM THREADS 5
int main(int argc, char *argv[])
{
int i
pthread t tid[NUM THREADS]
pthread attr t attr
/* get the default attributes */
pthread attr init(&attr)
/* set the scheduling algorithm to PROCESS or SYSTEM */
pthread attr setscope(&attr, PTHREAD SCOPE SYSTEM)
/* set the scheduling policy - FIFO, RT, or OTHER */
pthread attr setschedpolicy(&attr, SCHED OTHER)
/* create the threads */
for (i = 0ë i < NUM THREADSë i++)
pthread create(&tid[i],&attr,runner,NULL)
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 30
![Page 31: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/31.jpg)
API i Orarit Pthread
/* now join on each thread */
for (i = 0ë i < NUM THREADSë i++)
pthread join(tid[i], NULL)ë
}
/* Each thread will begin control in this function */
void *runner(void *param)
{
printf("I am a thread\n")ë
pthread exit(0)ë
}
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 31
![Page 32: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/32.jpg)
Orari për Shumë-Procesorë • Orari i CPU është më kompleks kur ka shumë CPU
• Procesorë homogjenë përbrenda multiprocesorit
• Multiprocesimi asimetrik – vetëm një proces u qaset strukturës së bazës së të dhënave, duke e lehtësuar nevojën për ndarjen e të dhënave
• Multiprocesimi simetrik (SMP) – secili procesor e bën orarin për vetvetën, të gjitha proceset në radhën e gatshme të përbashkët, ose seicla e ka radhën e saj private të procesve të gatshme
• Afiniteti i Procesorit– procesi ka afnititet për procesor në të cilin aktualisht është duke u ekzekutuar • Afinitet të butë
• Afinitet të fortë
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 32
![Page 33: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/33.jpg)
NUMA dhe Orari i CPU
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 33
![Page 34: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/34.jpg)
Procesorët Shumë-Shtresash
• Trend i fundit vendosja e shumë shtresave të
procesorëve në një chip të njëjtë fizik
• Më i shpejtë dhe konsumon më pak energji
• Shumë fije për shtresë dhe duke u rritur
• Merr përparësi të memories për të bërë progres në fijën tjetër
gjerësa marrja memorike ndodhë.
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 34
![Page 35: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/35.jpg)
Sistemet Shumë-Shtresash Shumë-Fijesh
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 35
![Page 36: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/36.jpg)
Shembuj të Sistemve Operative
• Orari i Solaris
• Orari Windows XP
• Orari Linux
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 36
![Page 37: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/37.jpg)
Tabela e Dërgesës (Dispatch) në Solaris
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 37
![Page 38: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/38.jpg)
Orari Solaris
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 38
![Page 39: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/39.jpg)
Prioritetet Windows XP
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 39
![Page 40: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/40.jpg)
Orari Linux
• Renditje konstante O(1) e kohës së orarit
• Dy rangje prioriteti: ndarje-kohore dhe kohë-reale
• Rangu Kohë-reale nga 0 në 99 dhe dhe vlerë e mirë nga 100 në 140
• (figura 5.15)
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 40
![Page 41: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/41.jpg)
Prioritetet dhe gjatësia Time-slice
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 41
![Page 42: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/42.jpg)
Lista e Detyrave të indeksuara Sipas Prioriteteve
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 42
![Page 43: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/43.jpg)
Vlerësimi Algoritmit
• Model deterministik – merr ngarkesë të
parapërcaktuar dhe definon performancën në
secilin algoritëm për atë ngarkesë
• Modelet e radhëve
• Implementimi
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 43
![Page 44: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/44.jpg)
Vlerësimi i Orarëve të CPU me simulim
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 44
![Page 45: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/45.jpg)
5.08
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 45
![Page 46: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/46.jpg)
In-5.7
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 46
![Page 47: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/47.jpg)
In-5.8
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 47
![Page 48: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/48.jpg)
In-5.9
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 48
![Page 49: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/49.jpg)
Dispatch Latency
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 49
![Page 50: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/50.jpg)
Java Thread Scheduling
• JVM Uses a Preemptive, Priority-Based Scheduling
Algorithm
• FIFO Queue is Used if There Are Multiple Threads
With the Same Priority
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 50
![Page 51: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/51.jpg)
Java Thread Scheduling (Cont.)
• JVM Schedules a Thread to Run When:
1. The Currently Running Thread Exits the Runnable State
2. A Higher Priority Thread Enters the Runnable State
* Note – the JVM Does Not Specify Whether Threads are
Time-Sliced or Not
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 51
![Page 52: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/52.jpg)
Time-Slicing
• Since the JVM Doesn’t Ensure Time-Slicing, the yield()
Method May Be Used:
while (true) {
// perform CPU-intensive task
. . .
Thread.yield()ë
}
• This Yields Control to Another Thread of Equal Priority
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 52
![Page 53: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/53.jpg)
Thread Priorities
Priority Comment
Thread.MIN_PRIORITY Minimum Thread Priority
Thread.MAX_PRIORITY Maximum Thread Priority
Thread.NORM_PRIORITY Default Thread Priority
Priorities May Be Set Using setPriority() method:
setPriority(Thread.NORM_PRIORITY + 2)ë
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 53
![Page 54: Ligjerata 6 Orari i CPU Se](https://reader030.vdocuments.site/reader030/viewer/2022012307/55cf9201550346f57b92aa04/html5/thumbnails/54.jpg)
Solaris 2 Scheduling
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike
Prof. Ass. Dr. Isak Shabani | Sistemet Operative 54