Download presentation
Presentation is loading. Please wait.
1
Algoritmi raspoređivanja
Arsenije Dubljanin, II6
2
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
3
Usluga prema redosledu dolaska (FCFS – First-Come, First Served)
Primer: Proces 1 vreme izvrsavanja: 15 Proces 2 vreme izvrsavanja: 8 Proces 3 vreme izvrsavanja: 7 Izvršavaju se redosledom Proces 1, Proces 2, Proces 3. Tada je vreme čekanja: Prvi proces čeka: 0 Drugi proces čeka: 15 Treći proces čeka: 23 ( )/3=12,6 Ukupno vreme čekanja moze biti mnogo bolje: Ako se izvršavaju redosledom Proces 3, Proces 2, Proces 1. Drugi proces čeka: 7 Treći proces čeka: 15 (0+7+15)/3=7,3 Proces 1 Proces 2 Proces 3 Ukupno vreme izvršavanja je mnogo bolje ako kraći procesi imaju prednost. Proces 3 Proces 2 Proces 1
4
Vreme čekanja: (0+3+6+7)/4=4
Najkraći proces sledeći (SJF – Shortest-Job-First) Postoje dve vrste ovog algoritma: Bez prekidima (kad se CPU dodeli procesu ne proces se ne prekida) 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 Proces Proces Proces Vreme čekanja: ( )/4=4 P1 P2 P3 P4
5
Vreme čekanja: (0+1+2+9)/4=3
Primer 2: Vreme dolaska Vreme izvrsavanja Proces Proces Proces Proces Vreme čekanja: ( )/4=3 P1 P2 P3 P4
6
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.
7
Kružno dodeljivanje (RR – Round Robin)
- Svaki proces dobija mali deo vremena CPU (time quantum), 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 P1 P2 P3
8
Algoritmi sa povratnom spregom između redova (MFQS – Multilevel Feedback Queue Scheduling) - Nekad je potrebno da procesi prelaze iz jednog reda u drugi. Naprimer kad procesu treba mnogo vremena za izvršavanje on se prebacuje u red sa nižim prioritetom ili obrnuto. - Uvodi se vremenska komponenta (da bi se izbeglo gladovanje) koja premešta procese koji dugo čekaju u red većeg prioriteta. Multilevel-feedback-queue raspoređivač definiše se sledećim parameterima: • Broj redova • Algoritmi raspoređivanja za svaki red • Metod koji definiše kada se proces premešta u prioritetniji red • Metod koji definiše kada se proces spušta u red sa nižim prioritetom • Metod koji definiše u koji red se proces upisuje kada ulazi u sistem 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: Procesi u prvom planu (foreground) 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)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.