Osnovni koncepti

n

Maksimalno iskorišćenje CPU-a se dobija multiprogramming-om

n

CPU–I/O Burst Cycle – Izvršenje procesa se sastoji od 

cycle

 CPU 

izvršavanja i I/O čekanja

n

CPU burst distribucija

CPU raspoređivač

n

Selektuje procese u memoriji koji su spremni za izvršenje i dodeljuje 

jednog od njih CPU

n

Odluke CPU raspoređivanja mogu da se donose kada se proces:

1.

prebacuje iz running u waiting stanje

2.

prebacuje iz running u ready stanje

3.

prebacuje iz waiting u ready stanje

4.

završava

n

Raspoređivanje pod 1 i 4 je 

nonpreemptive

n

Sva ostala raspoređivanja su 

preemptive

Dispečer

n

Dispatcher modul daje kontrolu nad CPU-om procesu selektovanom 

kratkoročnim raspoređivačem; ovo uključuje:

l

promenu konteksta - switching context

l

prebacivanje u korisnički mod

l

skok na odgovarajuću lokaciju u korisničkom programu da bi 

se restartovao taj program

n

Dispatch latency

 – vreme potrebno dispečeru da stopira jedan proces 

i startuje drugi koji je u running stanju 

Kriterijumi za raspoređivanje

n

Iskorišćenje CPU-a – održava CPU zauzetim što je moguće duže

n

Propusnost – broj procesa koji kompletiraju svoje izvršenje u jedinici 

vremena

n

Turnaround time – vreme okreta - količina vremena da se izvrši 

poseban proces

n

Waiting time – vreme čekanja - količina vremena kada proces čeka u 

spremnom redu

n

Response time – vreme odziva - količina vremena koja je potrebna 

od trenutka kada je zahtev podnešen do prvog odziva, to 

nije

 izlaz 

(za okruženje sa vremenskom raspodelom)

n

Max

 CPU utilization

n

Max

 throughput

n

Min

 turnaround time 

n

Min

 waiting time 

n

Min

 response time

Shortest-Job-First (SJF) raspoređivanje

(najkraći-posao-prvo)

n

Dužina sledećeg CPU burst-a je pridružena svim procesima. Koriste 

se ove dužine za raspored procesa sa najkraćim vremenom

n

Dve šeme:

l

nonpreemptive – jednom CPU dat procesu ne može da bude 

preempted-prekinut dok ne kompletira njegov CPU burst

l

preemptive – ako stiže novi proces sa dužinom sledećeg CPU 

burst-a manjom od preostalog vremena procesa koji se tekuće 

izvršava, preempt. Ova šema je poznata kao Shortest-

Remaining-Time-First (SRTF)

n

SJF je optimalno raspoređivanje ako je kriterijum srednje vreme 

čekanja – daje minimalno srednje vreme čekanja za dati skup 

procesa

Raspoređivanje po prioritetu

n

Prioritet (ceo broj) je pridružen svakom procesu

n

CPU se dodeljuje procesu sa najvećim prioritetom (najmanji ceo broj 

º

 najveći prioritet)

l

Preemptive

l

Nonpreemptive

n

SJF je raspoređivanje po prioritetu gde je prioritet predikciono 

vreme sledećeg CPU burst-a

n

Problem 

º

 Starvation ("gladovanje") – procesi sa malim prioritetom 

mogu da ne budu izvršeni nikada

n

Rešenje 

º

 Aging ("starenje") – kako vreme prolazi povećava se 

prioritet procesa

Round Robin (RR) - "Kružno" raspoređivanje

n

Svaki proces dobija malu količinu CPU vremena (

vremenski 

kvantum

), obično 10-100 milisekundi. Nakon ovog vremena, proces 

se prekida (preempt) i dodaje na kraj spremnog reda.

n

Ako postoji 

n

 procesa u spremnom redu  i ako je vremenski kvantum 

q

, onda svaki proces dobija 1/

n

 od CPU vremena u porciji-veličini od 

najviše 

q

 vremenskih jedinica odjednom. Nijedan proces ne čeka više 

od (

n

-1)

vremenskih jedinica.

n

Performanse

l

q

 veliko 

Þ

 FIFO

l

malo 

Þ

 

mora biti veće zbog promene konteksta, inače su 

opšti troškovi (overhead) suviše veliki

background image

Želiš da pročitaš svih 4 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti