Post on 01-Jan-2016
description
1
ivica.dodig@tvz.hr; v2.0 1
Operacijski sustavi
Prekidi
Tehničko Veleučilište u Zagrebu
prekidi i CPU vrijeme
2ivica.dodig@tvz.hr; v2.0
Prekidi� Prekidi su asinkroni događaji koje izaziva različito
sklopovlje da bi obavijestili OS o specifičnom događaju koji mora biti obrađen
� Primjeri prekida:
� pritisak tipke na tipkovnici
� pomicanje miša
� istek vremenskog intervala
� završetak čitanja/pisanja
� Svaki uređaj na sabirnici ima IRQ liniju (interrupt request) preko kojega traži prekid
prekidi i CPU vrijeme
2
Obavljanje prekida
3
� Pretpostavimo da računalni sustav ima tri pristupna sklopa i da su oni razvrstani u tri prioriteta. Viši prioritet prekida, prekidatrenutni prekid. P3 ima najviši prioritet. Svaka obrada prekida traje tri vremenska intervala t. Prekidi se pojavljuju za redom sa prioritetima p3,p2,p1 koracima od 1t.
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
Obavljanje prekida
4
� Pretpostavimo da računalni sustav ima tri pristupna sklopa i da su oni razvrstani u tri prioriteta. Viši prioritet prekida, prekidatrenutni prekid. P3 ima najviši prioritet. Svaka obrada prekida traje tri vremenska intervala t. Prekidi se pojavljuju za redom sa prioritetima p3,p1,p2 koracima od 1t.
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
3
Obavljanje prekida
5
� Pretpostavimo da računalni sustav ima tri pristupna sklopa i da su oni razvrstani u tri prioriteta. Viši prioritet prekida, prekidatrenutni prekid. P3 ima najviši prioritet. Svaka obrada prekida traje tri vremenska intervala t. Prekidi se pojavljuju za redom sa prioritetima p1,p3,p2 koracima od 1t.
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
Obavljanje prekida
6
� Pretpostavimo da računalni sustav ima tri pristupna sklopa i da su oni razvrstani u tri prioriteta. Viši prioritet prekida, prekidatrenutni prekid. P3 ima najviši prioritet. Svaka obrada prekida traje tri vremenska intervala t. Prekidi se pojavljuju za redom sa prioritetima p1,p2,p3 koracima od 1t.
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
4
Obavljanje prekida
7
� Računalni sustav ima 4 pristupna sklopa sa 4 prioriteta : P1-najveći, P4 najmanji. Veći prioritet prekida trenutni prekid. Svaki prekid traje 3t. Prekidi se pojavljuju redom P3, P4, P1, P2, P4 svakih 1t. Nacrtajte obradu:
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
Obavljanje prekida
8
� Pretpostavimo da računalni sustav ima pet pristupnih sklopova i da su oni razvrstani u pet prioriteta. Viši prioritet prekida prekidatrenutni prekid. P5 ima najviši prioritet P1 najmanji. Svaka obrada prekida traje tri vremenska intervala t. Prekidi se pojavljuju za redom sa prioritetima p3,p4,p1,p2 i p5 u koracima od t.
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
5
Obavljanje prekida
9
� Pretpostavimo da računalni sustav ima pet pristupnih sklopova i da su oni razvrstani u pet prioriteta. Viši prioritet prekida trenutni prekid. P5 ima najviši prioritet. Prekidi traju vremenski p1-1t , p2 i p3 -2t, p4 i p5 - 3t . Prekidi se pojavljuju za redom sa prioritetima p3,p1,p4,p2 i p5 u koracima od t.
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
Obavljanje prekida
10
� Pretpostavimo da računalni sustav ima pet pristupnih sklopova i da su oni razvrstani u pet prioriteta. Viši prioritet prekida trenutni prekid. P5 ima najviši prioritet. Prekidi traju vremenski p1 i p4 -2t, p2, p3 i p5 - 1t . Prekidi se pojavljuju za redom sa prioritetima p4,p3,p2,p1 i p5 u koracima od t.
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
6
Obavljanje prekida
11
� Pretpostavimo da računalni sustav ima pet pristupnih sklopova i da su oni razvrstani u pet prioriteta. Viši prioritet prekida trenutni prekid. P5 ima najviši prioritet. Prekidi traju vremenski 3t. Prekidi se pojavljuju za redom sa p4 u t p3 u 3t ,p2 u 4t, p1 7t i p5 u 8t
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
Obavljanje prekida
12
� Pretpostavimo da računalni sustav ima pet pristupnih sklopova i da su oni razvrstani u pet prioriteta. Viši prioritet prekida trenutni prekid. P5 ima najviši prioritet. Prekidi traju vremenski p1-t,p2-2t,p3-3t,p4-4t,p5-t. Prekidi se pojavljuju za redom sa p4 u t p3 u 3t ,p2 u 4t, p1 u 7t i p5 u 8t
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
7
ivica.dodig@tvz.hr; v2.0 13
CPU vrijeme
prekidi i CPU vrijeme
14ivica.dodig@tvz.hr; v2.0
Višezadaćnost
� Dvije vrste višezadaćnosti:
� Iznuđena (preemptive)
� Neiznuđena (non-preemptive)
prekidi i CPU vrijeme
8
Kriteriji za usporedbu performansi
CPU raspodjele poslova� Iskorištenje procesora (CPU utilization)
� Postotak vremena kada je CPU zaposlen (i nije u idle stanju) tijekom nekog perioda
� Propusnost, protok podataka (Throughput)
� Broj poslova koji se izvrše u jedinici vremena
� Vrijeme preklapanja poslova (Turnaround time)
� Vremenski interval od trenutka preuzimanja procesa pa sve do njegovog završetka
� Vrijeme čekanja (Waiting time)
� Suma vremena provedenih u redu u stanju spreman
� Vrijeme odziva (Response time)
� Vrijeme od preuzimanja posla da prvog izlaza/ulaza
� Aproksimirano sa vremenom od preuzimanja do prvog pristupa procesoru
prekidi i CPU vrijeme 15ivica.dodig@tvz.hr; v2.0
16ivica.dodig@tvz.hr; v2.0
Strategije raspoređivanja - FIFO
� FIFO – first in , first put
� FCFS – first come, first serve.
� Glavno obilježje ove strategije je da dretva drži CPU sve dok ne ode u stanje čekanja (waiting) –neiznuđena višezadaćnost
� Objekti koji predstavljaju dretve se smještaju u red (FIFO queue)
� Nova dretva smješta se na kraj reda (tail), a procesor uzima dretvu na izvršavanje sa glave reda (head)
prekidi i CPU vrijeme
9
17ivica.dodig@tvz.hr; v2.0
Strategije raspoređivanja - FIFO
� Prednosti strategije:
� Jednostavnost i lakoća implementacije
� Mala broj zamjene konteksta
� Ne može doći do izgladnjivanja jer je redoslijed slijedan
� Nedostatak:
� U slučaju da na red dođe CPU intenzivna dretva koja traje dugo i ne pristupa I/O uređajima zadaće mogu zapeti (nedostaje brza blagajna)
prekidi i CPU vrijeme
18ivica.dodig@tvz.hr; v2.0
Strategije raspoređivanja - FIFO
� Prikažimo sva stanja FIFO reda do njegova pražnjenja , ako je trenutno stanje reda D1=2t, D2=3t, D3=1t i u 0t trenutku je CPU slobodan.
� Naknadno u 3t dolazi nova dretva u red D4=1t
prekidi i CPU vrijeme
10
19ivica.dodig@tvz.hr; v2.0
Strategije raspoređivanja - FIFO
� Prikažimo sva stanja FIFO reda do njegova pražnjenja , ako je trenutno stanje reda D1=4t, D2=3t, D3=2t i u 0t trenutku je CPU slobodan.
� Naknadno u 3t dolazi nova dretva u red D4=1t
prekidi i CPU vrijeme
20ivica.dodig@tvz.hr; v2.0
Strategije raspoređivanja
SJF / SRTF
� Osnovna ideja strategije da prije izvrši dretve koje će kraće vremena trebati za obradu � SJF-Shortest Job First(najkraći poslovi prvi) (STCF – shortest time
to completion first)
� Izvrši one dretve kojima treba najmanje vremena
� Neiznuđena verzija
� Dretva koja se izvršava ne može biti prekinuta
� SRTF-Shortest Remaining Time First (iznuđena verzija SJF)(STRCF – shortest remaining time to completion first)
� Ako dođe dretva koja ima koja ima kraće vrijeme za završetak posla od preostalog vremena trenutnog posla trenutne dretve CPU daje toj novoj dretvi da se izvrši.
prekidi i CPU vrijeme
11
21ivica.dodig@tvz.hr; v2.0
Strategije raspoređivanja
SJF / SRTF
� Prednosti
� Privid brzog rada jer se kraći poslovi brzo izvršavaju
� Nedostatak:
�Mogućnost izgladnjivanja budući da mogu stalno dolaziti kratki poslovi, a da se dugi ne stignu izvršiti
� Problem predviđanja budućnosti
prekidi i CPU vrijeme
Strategija SJF - Zadatak
22
� Prikažimo sva stanja SJF algoritma do kraja svih dretvi, ako je trenutno stanje reda D1=2t, D2=3t, D3=1t , u 0t trenutku je CPU slobodan i kazaljka izvršavanja treba prijeći na novu dretvu.
� Naknadno u 4t dolazi nova dretva u red D4=1t
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
12
Strategija SJF - Zadatak
23
� Prikažimo sva stanja SJF algoritma do kraja svih dretvi, ako je trenutno stanje reda D1=4t, D2=3t, D3=2t , u 0t trenutku je CPU slobodan i kazaljka izvršavanja treba prijeći na novu dretvu.
� Naknadno u 3t dolazi nova dretva u red D4=1t
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
Strategija SRTF - Zadatak
24
� Prikažimo sva stanja SRTF algoritma do kraja svih dretvi, ako je trenutno stanje reda D1=2t, D2=3t, D3=1t , u 0t trenutku je CPU slobodan i kazaljka izvršavanja treba prijeći na novu dretvu. Vremenski sklop okida prekid svakih 1ms.
� Naknadno u 4t dolazi nova dretva u red D4=1t prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
13
Strategija SRTF - Zadatak
25
� Prikažimo sva stanja SRTF algoritma do kraja svih dretvi, ako je trenutno stanje reda D1=4t, D2=3t, D3=2t , u 0t trenutku je CPU slobodan i kazaljka izvršavanja treba prijeći na novu dretvu. Vremenski sklop okida prekid svakih 1ms.
� Naknadno u 3t dolazi nova dretva u red D4=1t
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
26ivica.dodig@tvz.hr; v2.0
Strategije raspoređivanja
Round robin
� Primjer iznuđene višezadaćnosti
� Svakoj dretvi se dodjeljuje vremenski interval (quantum) za izvršavanje instrukcija procesora
� Ako vremenski interval istekne, a dretva nije završila OS prekida izvršavanje (iz stanja running u ready) i dodjeljuje CPU slijedećoj dretvi ( iz stanja ready u running)
� Potreban sklopovski prekid u redovitim vremenskim intervalima (timer)
prekidi i CPU vrijeme
14
27ivica.dodig@tvz.hr; v2.0
Strategije raspoređivanja
Round robin
� Red je kružni, dretva koja je prekinuta završava na kraju reda (repu),a u obradu se uzima sljedeća dretva iz reda. Kada dođe nova dretva ona dolazi na kraj reda.
� Kako ispravno odrediti vremenski interval prekida:
� Ako je prevelik vrijeme odziva je loše
� Ako je premali iskoristivost je mala (vrijeme konteksta je postaje sve utjecajnije)
prekidi i CPU vrijeme
28ivica.dodig@tvz.hr; v2.0
Strategije raspoređivanja
Round robin
� Prednosti RR strategije
� Osigurana pravednost
� Uz pravilno osiguranu duljinu vremenskog intervala moguće je iskorištenje do maksimalno 90% vremena procesora
� Nedostatak
� Ako poslovi imaju približno isto vrijeme za izvršavanje tada vrijeme izmjene postaje veliko i postavlja se upitno smisao korištenja strategije (rijetki uglavnom industrijski primjeri)
prekidi i CPU vrijeme
15
29ivica.dodig@tvz.hr; v2.0
Strategija RR - Zadatak� Prikažimo sva stanja RR
algoritma do kraja svih dretvi, ako je trenutno stanje reda D1=2t, D2=3t, D3=1t , u 0t trenutku je CPU slobodan i kazaljka izvršavanja treba prijeći na D1 dretvu. Vrijeme izvršavanja je 1t (uključen kontekst)
� Naknadno u 3t dolazi nova dretva u red D4=1t prekidi i CPU vrijeme
30ivica.dodig@tvz.hr; v2.0
Strategija RR - Zadatak� Prikažimo sva stanja RR
algoritma do kraja svih dretvi, ako je trenutno stanje reda D1=4t, D2=3t, D3=2t , u 0t trenutku je CPU slobodan i kazaljka izvršavanja treba prijeći na D1 dretvu. Vrijeme izvršavanja je 1t (uključen kontekst)
� Naknadno u 3t dolazi nova dretva u red D4=1t prekidi i CPU vrijeme
16
Strategija - Zadatak
31
Poslovi Vrijeme
izvršavanja
P1
10
P2
29
P3
3
P4
7
P5
12
� Promatrati će se dodjela procesora prema algoritmima FCFS, SJF i RR s vremenskim kvantom od 10 vremenskih jedinica. Pitanje je koji algoritam daje najkraće prosječno vrijeme čekanja?
prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
Strategija - Zadatak
32prekidi i CPU vrijeme ivica.dodig@tvz.hr; v2.0
17
33
Zadatak
� Izračunaj prosječno vrijeme čekanja za RR (round robin) raspodjelu dretvi
� Dretve:� D1: 24
� D2: 4
� D3: 4
� D1 je prva na izvršavanju
� Vremenski kvant = 4; Izmjena konteksta= 1
34
Prosječno vrijeme čekanja
� D1:0+15=15
� D2: 5
� D3:10
� Average: (D1+D2+D3)/3=10
D1 D2 D3 D1 D1 D1 D1 D1
4 5 9 10 14 15 19 20 24 25 29 30 34 35 39
18
Labos 1
19
Potrebno se predstaviti sustavu
Nakon predstavljanja sustavu
20
Nakon predstavljanja sustavu
21
22