You are on page 1of 8

Arsenije Dubljanin, II6

Algoritmi raspoređivanja:
1. Usluga prema redosledu dolaska
- Ima prednost proces koji najduze ceka uslugu
2. Najkraći proces
- Bira se proces kojem je najmanje ostalo do kraja izvrsavanja
3. Kružno dodeljivanje
- Koristi se deljenje na vremenske isečke da bi se ograničio svaki proces koji se
izvršava na kratko korišćenje procesorskog vremena i rotira se između svih ready
procesa
4. Sledeći sa najvećim odnosom odziva
- Odluka o raspoređivanju zasniva se na proceni normalizovanog vremena
prolaska zadatka
5. Povratna sprega
- Uspostavlja se skup redova čekanja za raspoređivanje i procesi se dodeljuju
redovima na osnovu istorije izvršavanja i drugih kriterijuma
Usluga prema redosledu dolaska (FCFS – First-Come, First Served)
Primer:

Proces 1 Proces 2 Proces 3

Proces 1 vreme izvrsavanja: 15


Proces 2 vreme izvrsavanja: 8
Proces 3 vreme izvrsavanja: 7 Ukupno vreme izvršavanja je
Izvršavaju se redosledom Proces 1, Proces 2, Proces 3.
mnogo bolje ako kraći procesi
Tada je vreme čekanja:
Prvi proces čeka: 0 imaju prednost.
Drugi proces čeka: 15
Treći proces čeka: 23
(0+15+23)/3=12,6
Ukupno vreme čekanja moze biti mnogo bolje:
Ako se izvršavaju redosledom Proces 3, Proces 2, Proces 1.
Tada je vreme čekanja:
Prvi proces čeka: 0
Drugi proces čeka: 7
Proces 3 Proces 2 Proces 1
Treći proces čeka: 15
(0+7+15)/3=7,3
Najkraći proces sledeći (SJF – Shortest-Job-First)
Postoje dve vrste ovog algoritma:
1. Bez prekidima (kad se CPU dodeli procesu ne proces se ne prekida)
2. Sa prekidima (ako se pojavi proces čije je vreme izvrsavanja krace njemu se dodeljuje
CPU)
*Ako dva procesa imaju isto vreme izvrsavanja dobija CPU onaj koji ima manje vreme
dolaska
Primer 1:
Vreme dolaska Vreme izvrsavanja
Proces 1 0 7
Proces 2 2 4 Vreme čekanja:
Proces 3 4 1 (0+3+6+7)/4=4
Proces 4 5 4
P
1
P
2
P
3
P
4
Vreme čekanja:
 Primer 2:
(0+1+2+9)/4=3
Vreme dolaska Vreme izvrsavanja
Proces 1 0 7
Proces 2 2 4
Proces 3 4 1
Proces 4 5 4

P
1
P
2
P
3
P
4
 Prioritetni algoritmi
Svakom procesu se dodeljuje prioritet (neka promenljiva, što je manji broj – veći
prioritet), zatim algoritam bira proces sa najvecim prioritetom. Ukoliko su prioriteti
jednaki gleda se koji je proces prvi došao.
Prioriteti mogu biti:
1. Interno definisani
na osnovu resursa koje proces zahteva i odnosa procesora i I/O aktivnosti procesa
2. Eksterno definisani
programer može da favorizuje određene procese po nekim eksternim kriterijumima
Kao kod SJF algoritma i u ovom algoritmu prostoje dve vrste:
1. Bez prekidanja
- Kad dodje proces sa većim prioritetom, proces koji se trenutno izvršava neće se
prkinuti.
2. Sa prekidanjem
- Kad dođe proces sa većim prioritetom, proces koji se trenutno izvršava će se
prekinuti i mora sačekati da se on završi.
Problem kod ovog algoritma nastaje kad procesi sa niskim proritetom veoma dugo
čekaju ili nikad ne dođu na red (starvation).
Rešenje je da procesi što duze čekaju to im se više povećava prioritet.
Kružno dodeljivanje (RR – Round Robin)
- Svaki proces dobija mali deo vremena CPU (time quantum), 10-100 ms. Kad to vreme
istekne proces ide na kraj reda. Ukoliko ima n procesa u redu, q je kvantum, onda svaki
proces dobija 1/n vremena procesora u porcijama od q jedinica vremena.
- Granični slučaj u kome procesor veći deo vremena troši na režiju nego na korisničke
procese naziva se premašenje (overhead).
Primer:
Vremenski interval – 4 jedinice vremena
Proces: Vreme izvršavanja:
P1 8
P2 3
P3 3
P
1
P
2
P
3
Algoritmi raspoređivanja u više
redova čekanja (MQS – Multilevel
Queue Scheduling)
- Svi procesi se raspoređuju u više grupa.
Svaka grupa ima svoj algoritam
raspoređivanja:
1. Procesi u prvom planu (foreground)
2. Procesi u pozadini (background)
Svaka grupa ima svoje CPU vreme, prvo se
odvijaju procesi iz foreground. Najčešće
veći prioritet imaju procesi u prvom redu.
80% CPU – foreground (RR algoritam)
20% CPU – background (FCFS algoritam)

You might also like