You are on page 1of 54

Prof. Ass. Dr.

Isak Shabani | Sistemet Operative

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

Orari i CPU
Konceptet Baz
Kriteri i Orarit
Algoritmet e Orarit
Thread Orari
Orari pr Shum Procesor (ang. Multiple-

Processor)
Shembuj t Sistemeve Operative
Vlersimi i Algoritmeve

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

Objektivat
Hyrje n orarin e CPU, i cili sht baz e sistemeve

operative t multiprogramuara
T prshkruhen algoritme t ndryshme t orarit t CPU

T diskutohen kriteret vlersuese pr zgjedhjen e

algoritmit t orarit t CPU pr sistem t caktuar

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

Konceptet Bazike
Utilizim maksimal i CPU arrihet prmes

multiprogramimit
CPUI/O Burst Cycle Ekzekutimi i procesit

prmban cikl t ekzekutimeve t CPU dhe pritjeve


I/O
Shprndarja e CPU burst

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

Histogrami i Kohs s CPU-burst

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

Sekuenca Alternative e CPU dhe I/O Bursts

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

Orari i CPU
Zgjedh n mes t proceseve n memorie t cilat jan t

gatshme pr ekzekutim, dhe e alokon CPU te nj prej tyre


Vendimet e orarit CPU mund t zn vend kur procesi:
1. Kalon nga gjendja e lshimit (running) n gjendjen pritse
(waiting state)
2. Kur kalon nga gjendja e lshimit n gjendje t gatshme (ready
state)
3. Kalon nga pritja (waiting) n t gatshme (ready)
4. Prfundon (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

Dispatcher
Moduli Dispatcher i jep kontrollin e CPU proceseve

t zgjedhura nga orari afat-shkurtr kjo prfshin:


Ndryshimi i kontekstit
Kalimi n user mode
Krcimi n lokacionin e duhur n programin e shfrytzuesit

pr t rinisur at program

Dispatch latency koha pr t cilen dispatcheri

ndalon nj proces dhe e fillon nj tjetr n lshim

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

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 pr njsi kohore


Turnaround time sasia e kohs pr t ekzekutuar nj

proces t caktuar
Waiting time koha pr t ciln procesi ka qen n pritje

n radh t proceseve t gatshme


Response time koha e nevojshme nga koha kur sht

br krkesa gjer n prgjigjen e par, jo output (pr


ambientet me koh-t-ndar)

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

10

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

11

Orari First-Come, First-Served (FCFS)


Proceset Burst Time
P1
24
P2
3
P3
3
T supozojm se proceset arrijn n rnditjen: P1 , P2 , P3
Gantt Charti pr orarin do t jet:
P1

P2

24

P3

27

30

Koha e pritjes pr P1 = 0 P2 = 24 P3 = 27
Koha mesatare e pritjes: (0 + 24 + 27)/3 = 17

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

12

Orari FCFS (Vazh.)


T supozojm se proceset arrijn n kt rnditje:
P2 , P3 , P1
Gantt chart-i pr orarin sht:
P2
0

P3
3

P1
6

30

Koha epritjes pr 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 shkurtr prapa procesit t

gjat
Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

13

Orari Shortest-Job-First (SJF)


Shoqro me secilin proces gjatsin e CPU burst-it t tij

vijus. Prdor kto gjatsi pr t br orarin e procesit me


koh m t shkurtr
SJF sht optimal jep kohn mesatare minimale t

pirtjes pr bashksin e proceseve t dhna


Vshtirsia sht n njohjen e gjatsis s CPU krkess vijuse

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

14

Shembull i SJF
Proceset Arrival Time
P1
0.0
P2
2.0
P3
4.0
P4
5.0
Chart pr orarin SJF
P1

P4

Burst Time
6
8
7
3

P3
9

P2
16

24

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

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

15

Prcaktimi i Gjatsis s CPU Burst-it vijus


Mund t prcaktohet vetm gjatsia

Mund t arrihet duke shfrytzuar gjatsin e CPU

burst-ave paraprak, duke shfrytzuar mesataren


eksponencial
1. t n gjatsia aktuale e n th CPU burst
2. n 1 vlera e predikuar pr CPU burst t ardhshm
3. , 0 1
4. Definim :

n 1 t n 1 n .

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

16

Parashikimi i Gjatsis s CPU Burst t Ardhshm

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

17

Shembuj t Mesatars Eksponenciale


=0
n+1 = n
Historia e fundit nuk numrohet
=1
n+1 = tn
Vetm CPU burst aktual i fundit numrohet
Nse e zgjerojm formuln, marrim:
n+1 = tn+(1 - ) tn -1 +
+(1 - )j tn -j +
+(1 - )n +1 0

Gjetras t dyjat dhe (1 - ) jan m t vogla ose t

barabarta me 1, secili term suksesiv ka m pak pesh


se paraardhsi i tij
Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

18

Orari Prioritar
Numr prioriteti (integer) i shoqrohet secilit proces
CPU alokohet tek procesi me prioritet m t lart

(numri i plot m i vogl prioriteti m i lart)


Preemptive
Nonpreemptive

SJF sht orar me prioritet ku prioriteti sht koha e

predikatit t CPU burst-it t ardhshm


Problemi Starvation proceset me prioritet t ult

mund t mos ekzekutohen fare


Zgjidhje Aging me progresin e kohs rrit prioritetin

e procesit
Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

19

Round Robin (RR)


Secili proces merr nj njsi t vogl t kohs s CPU (time

quantum), zakonisht 10-100 millisekonda. Pas kalimit t


ksaj kohe, procesi sht premtpuar (ndrprerja e procesit)
dhe vendoset n fund t radhs s gatshme.
Nse jan n procese n radh t gatshme dhe time

quantum sht q, ather secili proces merr 1/n t kohs s


CPU n copza t s paku q njsi kohe prnjher. Asnj
proces nuk pret m shum se (n-1)q njsi kohore.
Performanca
q e madhe FIFO
q e vogel q duhet t jet e madhe n lidhje me ndryshimin e
kontekstit, prndryshe ngarkesa sht shum e madhe

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

20

Shembull i RR me Time Quantum = 4


Proceset
P1
P2
P3

Burst Time
24
3
3

Gantt charti sht:

P1
0

P2
4

P3
7

P1
10

P1
14

P1
18 22

P1
26

P1
30

Zakonisht, mesatarja m e lart e turnaround se SJF,

por prgjegjsi m t mir


Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

21

Time Quantum dhe Koha e Ndryshimit t Kontekstit

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

22

Koha Turnaround varet nga Koha e Kuantumit

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

23

Radha Shum-nivelshe
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 bhet n mes t radhve
Orar fiks t prioriteteve (p.sh., shrbe t gjitha nga sfondi
ather nga prapavija). Mundsi e starvation.
Ndarja Kohore secila radh merr sasi t caktuar t kohs s
CPU t ciln 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

24

Orart me Radh Shum-Nivelshe

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

25

Radht Kthyse Shum-Nivelshe


Procesi mund t lviz n mes t radhve t

ndryshme mplakja (aging) mund t implementohet n


kt mnyr
Orari me Radh-Kthyse shum-nivelshe i definuar

me parametrat vijus:
Numr t radhve (ang.,queues)
Algoritma t orarit pr seciln radh
Metoda e shfrytzuar pr t prcaktuar kur t bhet ngritja e

procesit
Metoda e shfrytzuar pr t prcaktuar kur t bhet zbritja n
pozit e procesit
Metoda e shfrytzuar pr t prcaktuar se cila radh e procesit
do t futet kur ai proces ka nevoj pr shrbim

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

26

Shembull i Radhs Kthyse Shum-nivelshe


Tri radh:
Q0 RR me time quantum 8 ms
Q1 RR time quantum 16 ms
Q2 FCFS
Orari
Nj pun e re futet n radhn Q0 e cila shrbhet FCFS. Kur e fiton
CPU, puna merr 8 milisekonda. Nse nuk prfundon n 8
milisekonda, puna lviz n radhn Q1.
N Q1 puna prap shrbehet n FCFS dhe merr 16 milisekonda
shtes. Nse ende nuk prfundon, preemptohet dhe lvizet n
radhn Q2.

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

27

Radhs Kthyse Shum-Nivelshe

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

28

Orari i Fijeve (Threads)


Dallimi n mes t fijeve t nivelit-shfrytzues dhe kernel-

nivelit
Shum-n-nj dhe shum-me-shum modelet, livraria e

fijeve bn orarin e fijeve t nivelit-shfrytzues q t


lshohen n LWP
E njohur si process-contention scope (PCS) gjersa gara e

orarit sht prbrenda 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

29

Orari Pthread
API lejon specifikimin e PCS ose SCS gjat krijimit t

fijes
PTHREAD SCOPE PROCESS bn orarin pr fijet duke

shfrytzuar PCS orarin


PTHREAD SCOPE SYSTEM bn orarin e fijeve duke
shfrytzuar SCS orarin.

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

30

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

31

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

32

Orari pr Shum-Procesor
Orari i CPU sht m kompleks kur ka shum CPU
Procesor homogjen prbrenda multiprocesorit
Multiprocesimi asimetrik vetm nj proces u qaset

strukturs s bazs s t dhnave, duke e lehtsuar


nevojn pr ndarjen e t dhnave
Multiprocesimi simetrik (SMP) secili procesor e bn

orarin pr vetvetn, t gjitha proceset n radhn e


gatshme t prbashkt, ose seicla e ka radhn e saj
private t procesve t gatshme
Afiniteti i Procesorit procesi ka afnititet pr 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

33

NUMA dhe Orari i CPU

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

34

Procesort Shum-Shtresash
Trend i fundit vendosja e shum shtresave t

procesorve n nj chip t njjt fizik


M i shpejt dhe konsumon m pak energji

Shum fije pr shtres dhe duke u rritur


Merr prparsi t memories pr t br progres n fijn tjetr
gjersa marrja memorike ndodh.

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

35

Sistemet Shum-Shtresash Shum-Fijesh

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

36

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

37

Tabela e Drgess (Dispatch) n Solaris

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

38

Orari Solaris

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

39

Prioritetet Windows XP

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

40

Orari Linux
Renditje konstante O(1) e kohs 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

41

Prioritetet dhe gjatsia Time-slice

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

42

Lista e Detyrave t indeksuara Sipas Prioriteteve

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

43

Vlersimi Algoritmit
Model deterministik merr ngarkes t

paraprcaktuar dhe definon performancn n


secilin algoritm pr at ngarkes
Modelet e radhve
Implementimi

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

44

Vlersimi i Orarve t CPU me simulim

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

45

5.08

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

46

In-5.7

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

47

In-5.8

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

48

In-5.9

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

49

Dispatch Latency

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

Prof. Ass. Dr. Isak Shabani | Sistemet Operative

50

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

51

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

52

Time-Slicing
Since the JVM Doesnt 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

53

Thread Priorities
Priority
Thread.MIN_PRIORITY
Priority
Thread.MAX_PRIORITY
Thread Priority
Thread.NORM_PRIORITY
Priority

Comment
Minimum Thread
Maximum
Default Thread

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

54

Solaris 2 Scheduling

Fakulteti i Inxhinieris Elektrike dhe Kompjuterike | Drejtimi: Inxhinieri Kompjuterike

You might also like