You are on page 1of 22

Skedulimi i CPU

Përshtatur nga: Operating System Concepts – 10th edition


Skedulimi i CPU
Konceptet bazë
Kriteret e skedulimit
Algoritmet e skedulimit
Skedulimi i thread-ve
Skedulimi në makinat me shumë procesorë
Shembuj sistemesh operimi
Vlerësimi i algoritmeve

1.2 Përshtatur nga: Operating System Concepts – 10th edition


Objektivat
Përshkrim i skedulimit të CPU – si baza e sistemeve kompjuterikë të
multiprogramuar
Përshkrim i algoritmeve të ndryshëm të skedulimit të CPU
Diskutim mbi kriteret e vlerësimit mbi përzgjedhjën e algoritmit të CPU për
një sistem specifik

1.3 Përshtatur nga: Operating System Concepts – 10th edition


Konceptet bazë
Sistemet e multiprogramuar mundësojnë një përdorim më të mirë të CPU

Ekzekutimi i procesit konsiston në ekzekutime në CPU dhe kryerje


veprimesh I/O

Ekzekutimet në CPU janë të shpërndara

1.4 Përshtatur nga: Operating System Concepts – 10th edition


Sekuencë e alternuar e ekzekutimeve në
CPU dhe I/O

Fotot marrë nga: Operating System Concepts – 10th Edition

1.5 Përshtatur nga: Operating System Concepts – 10th edition


Grafik mbi kohën e ekzekutimit në CPU

Fotot marrë nga: Operating System Concepts – 10th Edition

1.6 Përshtatur nga: Operating System Concepts – 10th edition


Skeduluesi i CPU
Përzgjedh nga proceset në rradhën gati duke i dhënë kontrollin e CPU njërit
prej tyre
Rradha mund të renditet në disa mënyra
Vendimet e skeduluesit të CPU ndodhin kur një proces:
Kalon nga gjendja e ekzekutueshme në gjendjen e pritjes
Kalon nga gjendja e ekzekutueshme në gjendjen gati
Kalon nga gjendja e pritjes në gjendjen gati
Përfundon ekzekutimin e tij
Skedulimi për pikat 1 dhe 4 është jo-ndalues
Skedulimet e tjera janë ndalues
Konsideroni aksesin tek të dhënat e përbashkëta
Konsideroni ndalimin ndërkohë që instruksioni po ekzekutohet në
mënyrën kernel
Konsideroni ndërprerjet që ndodhin gjatë aktiviteteve kritike të OS

1.7 Përshtatur nga: Operating System Concepts – 10th edition


Dispeçer
Moduli dispeçer i jep kontrollin e procesorit njërit prej proceseve të
përzgjedhur nga skeduluesi afat-shkurtër; kjo përfshin:
Ndryshimin e kontekstit
Kalimin në mënyrën e përdoruesit (user mode)
Kalimi në vendodhjen e duhur në programin e përdoruesit dhe restart-
imi i programit

Vonesa e dispeçerit – koha që i nevojitet dispeçerit të ndalojë një proces


dhe të fillojë ekzekutimin e një procesi tjetër

1.8 Përshtatur nga: Operating System Concepts – 10th edition


Roli i dispeçer-it

Fotot marrë nga: Operating System Concepts – 10th Edition

1.9 Përshtatur nga: Operating System Concepts – 10th edition


Kriteret e skedulimit
Përdorimi i CPU
Numri i proceseve të cilët përfundojnë ekzekutimin për njësi të kohës
Koha që nevojitet për ekzekutimin e një procesi specifik
Koha e pritjes së një procesi në rradhën gati
Koha e përgjigjes së parë; jo detyrimisht është outputi përfundimtar

1.10 Përshtatur nga: Operating System Concepts – 10th edition


Kriteret e optimizimit të algoritmeve të
skedulimit
Makzimizim i përdorimit të CPU
Makzimizim i numrit të proceseve të cilët përfundojnë ekzekutimin për njësi
të kohës
Minimizim i kohës që nevojitet për ekzekutimin e një procesi specifik
Minimizim i kohës së pritjes së një procesi në rradhën gati
Minimizim i kohës së përgjigjes së parë; jo detyrimisht është outputi
përfundimtar

1.11 Përshtatur nga: Operating System Concepts – 10th edition


Skeduluesi FCFS

Supozojmë se proceset mbërrijnë në rradhën: P1, P2, P3


Diagrama Gantt për skedulimin është

Koha e pritjes për P1 = 0; P2 = 24; P3 = 27


Koha mesatare e pritjes: (0 + 24 + 27)/3 = 17

Fotot marrë nga: Operating System Concepts – 10th Edition

1.12 Përshtatur nga: Operating System Concepts – 10th edition


FCFS (Vazh.)
Supozojmë se proceset mbërrijnë sipas rradhës: P2, P3, P1
Diagrama Gantt për skedulimin është

Koha e pritjes për P1 = 6; P2 = 0; P3 = 3


Koha mesatare e pritjes: (6 + 0 + 3)/3 = 3
Shumë më mirë se rasti i parë
Efekti “convoy” – proceset me kohë më të vogël, pas proceseve me kohë
më të gjatë
Supozoni proceset që kryejnë një veprim në CPU dhe shumë veprime
I/O

Fotoja marrë nga: Operating System Concepts – 10th Edition

1.13 Përshtatur nga: Operating System Concepts – 10th edition


Skeduluesi SJF
Bashkëngjitur çdo procesi koha e ekzekutimit në CPU
Përdoret kjo kohë për të skeduluar procesin me kohën më të vogël

SJF është optimal – jep kohën e pritjes mesatare më të vogël për një
bashkësi të dhënë procesesh
Problem është të njihet koha e ekzekutimit në CPU
Mund të pyesë përdoruesin

1.14 Përshtatur nga: Operating System Concepts – 10th edition


Shembull SJF

Diagrama Gantt e skedulimit SJF

Koha mesatare e pritjes = (3 + 16 + 9 + 0) / 4 = 7

Fotot marrë nga: Operating System Concepts – 10th Edition

1.15 Përshtatur nga: Operating System Concepts – 10th edition


Skeduluesi SRT
Shtohet koha e mbërritjes së proceseve dhe koncepti i skedulimit ndalues

Diagrama Gantt e skedulimit SRTF ndalues

Koha mesatare e pritjes = [(10-1)+(1-1)+(17-2)+5-3)]/4 = 26/4 = 6.5 msec


Fotot marrë nga: Operating System Concepts – 10th Edition

1.16 Përshtatur nga: Operating System Concepts – 10th edition


Algoritmi 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ë)
Ndalues
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

1.17 Përshtatur nga: Operating System Concepts – 10th edition


Algoritmi me prioritet (Vazh.)

Diagrama Gantt për algoritmin me prioritet

Koha mesatare e pritjes = 8.2 msec

Fotot marrë nga: Operating System Concepts – 10th Edition

1.18 Përshtatur nga: Operating System Concepts – 10th edition


Round Robin (RR)
Çdo proces merr kontrollin e CPU për një kohë të paracaktuar (quantum
q), zakonisht 10-100 milisekonada. Pas kësaj kohe ndërpritet ekzekutimi i
procesit i cili shtohet në fund të rradhës gati
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 krahësuar me kohën e
nevojshme për ndryshimin e kontekstit

1.19 Përshtatur nga: Operating System Concepts – 10th edition


Round Robin (RR) (Vazh.)

Diagrama Gantt është

Zakonisht një kohë totale ekzekutimi më të lartë se SJF, por një kohë
përgjigje me të mirë

Fotot marrë nga: Operating System Concepts – 10th Edition

1.20 Përshtatur nga: Operating System Concepts – 10th edition


Round Robin (RR) (Vazh.)

Diagrama Gantt është

Zakonisht një kohë totale ekzekutimi më të lartë se SJF, por një kohë
përgjigje me të mirë

Fotot marrë nga: Operating System Concepts – 10th Edition

1.21 Përshtatur nga: Operating System Concepts – 10th edition


Fund

Përshtatur nga: Operating System Concepts – 10th edition

You might also like