2.auditorne Stranicenje Disk Multimedija 2013 2014

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

TEHNIKO VELEUILITE U ZAGREBU

Operacijski sustavi
Stranienje, Disk, Multimedija

Algoritmi zamjene stranica u


virtualnoj memoriji




FIFO
Optimalni
LRU (Least Recently Used)

Algoritam za zamjenu stranica sa brojaem


LFU (Least Frequently Used)

Efikasnost algoritma je broj pogreaka

stranice / ukupan broj pristupa


2

FIFO-algoritam zamjene stranica





Najstarija stranica u memoriji je ona kuju emo odabrati za zamjenu


Stranice se postavljaju kao vezana lista, stranica se skida sa kraja dok se nova
stranica stavlja na poetak
Neka je zadan slijedei referentni string: 0,2,1,6,4,0,1,0,3,1,2,1, broj
referenciranja je 12. Neka u memoriju stanu 4 okvira.

Vjeba1 FIFO alg.

Vjeba2 FIFO alg

Vjeba 3 FIFO alg

Vjeba 4 FIFO alg

FIFO-algoritam zamjene stranica




Osobine FIFO algoritma


 Jednostavan za implementaciju
 Dosta veliku pogreku to se tie efikasnosti
 Zamjenjuje najstarije prvo uitan , postoji velika
vjerojatnost da e one biti potrebne
 Ne uzima se uope u obzir koliko je pojedina stranica
do sada bila referencirana

Optimalni algoritam zamjene stranica







Osnovna ideja je da se zamjeni stranica kojoj se nee pristupati najdui


vremenski period
To daje najmanji mogui postotak pogreaka stranice
Neka je zadan slijedei referentni string: 0,2,1,6,4,0,1,0,3,1,2,1, broj
referenciranja je 12. Neka u memoriju stanu 4 okvira.

Vjeba1 optimalni alg.

10

Vjeba2 optimalni alg

11

Vjeba 3 optimalni alg

12

Vjeba 4 optimalni alg

13

OPTIMALAN-algoritam zamjene
stranica


Osobine OPTIMALNOG algoritma


 Ne moe se implementirati na raunalu
 Najbolji postotak efikasnosti
 Gleda unaprijed koja mu stranica u budunosti nee
vie trebati

14

LRU least recently used





Zamjeni se stranica kojoj najdue vrijeme nije pristupano,


gledamo u prolost jer ne moemo gledati u budunost
Neka je zadan slijedei referentni string:
0,2,1,6,4,0,1,0,3,1,2,1, broj referenciranja je 12. Neka u
memoriju stanu 4 okvira.

15

LFU least frequently used





Zamjeni se stranica koja je najrjee koritena u prolosti


Neka je zadan slijedei referentni string:
0,2,1,6,4,0,1,0,3,1,2,1, broj referenciranja je 12. Neka u
memoriju stanu 4 okvira.

16

Vjeba1 LRU alg.

17

Vjeba1 LFU alg.

18

Vjeba2 LRU alg

19

Vjeba2 LFU alg

20

10

Vjeba 3 LRU alg

21

Vjeba 3 LFU alg

22

11

Vjeba 4 LRU alg

23

Vjeba 4 LFU alg

24

12

LRU vs. LFU









Osobine LRU i LFU algoritma


Koju stranicu izbaciti
 Stog dri se stog referentih stranica.
 Kod svakog referenciranja stranica se podie prema vrhu stoga.
 Stranica na dnu stoga je ona koja e biti zamijenjena
 Vremenski broja
 Svaka stranica se oznaava vremenom zadnjeg pristuapa
 Kod zamjene uzima se ona sa najmanjem vrijednou brojaa
Obje tehnike zahtijevaju specifino sklopovlje
Postoje algoritmi koji aproksimiraju LRU
Postoji bitovi (oznake) referenciranja na stranici koji moemo iskoristiti kao
oznaku pristupa
Relativno bolja efikasnost od FIFO algoritma

25

Disk

26

13

Algoritmi rasporeivanje poslova


diska







FCFS
SSTF
SCAN (dizalo)
C-SCAN (jednosmjerno dizalo)
LOOK
C-LOOK

27

Algoritam pristupa - FCFS





Zadaama se dodjeljuje pristup disku onim redoslijedom kojim pristiu


Zadatak:


Treba odrediti ukupnu udaljenost izmeu sektora pojedinih zadaa (seek


distance) za referentni niz

28

14

Algoritam pristupa - FCFS

29

Vjeba FCFS

30

15

Algoritam pristupa - FCFS





Osobine FCFS algoritma


Prednosti:
Nema izgladnjivanja
 Jednostavan za implementaciju


Nedostaci


Sluajan pristup disku, nema utede vremena

31

Algoritam pristupa
Najmanje vrijeme traenja
(shortest seek time first)


Primjenjujemo slijedei algoritam:


 Kada nova zadaa doe izraunaj udaljenost od zadae koja
trenutno pristupa disku
 Stavi zadau na odgovarajue mjesto u redu (poredanu po
udaljenosti)
 Kad zadaa zavri odaberi najbliu
 Uvijek se mora krenuti od jedne zadae, a mi emo uzeti da je
prva pozicija u nizu

32

16

Algoritam pristupa
Najmanje vrijeme traenja
(shortest seek time first)



Referentni string: 5,35,2,14,12,21,3,9,22,20


Redoslijed pristupa disku prema SSTF bio bi:
5,3,2,9,12,14,20,21,22,35

33

Algoritam pristupa - SSTF

34

17

Vjeba SSTF

35

Algoritam pristupa
Najmanje vrijeme traenja
(shortest seek time first)



Osobine SSTF algoritma


Prednost
 Poboljanje vremena u odnosu na FCFS
Nedostatak
 Problem sa izgladnjivanjem (nove zadae stalno stiu i
moe se dogoditi da neke jako udaljene nee biti u
razumnom vremenu usluene)

36

18

Algoritam pristupa (SCAN algoritam)


Dizalo (elevator algorithm)


Primjenjujemo slijedei algoritam:


 Kada nova zadaa doe izraunaj udaljenost od
zadae koja trenutno pristupa disku
 Stavi zadau na odgovarajue mjesto u redu
(sortiranom po udaljenosti)
 Kad zadaa zavri odaberi najbliu u jednom smjeru
 Kada zavrimo put u jednom smjeru vraamo se u
suprotnom smjeru, a prije vraanja glavu diska
pozicionraj na zadnji sektor
37

Algoritam pristupa (SCAN algoritam)


Dizalo (elevator algorithm)




Referentni string: 5,35,2,14,12,21,3,9,22,20


Prvi sektor diska je na 0-tom, a zadnji na 40-tom sektoru
Uzmimo da od sektora 5 pristupamo sektorima sa veim rednim brojem
do kraja i zatim se vraamo u suprotnom smjeru:
5,9,12,14,20,21,22,35,3,2

38

19

Algoritam pristupa - dizalo

39

Vjeba dizalo

Prvi sektor je 1
Zadnji sektor je
sektor 35

40

20

Algoritam pristupa (SCAN algoritam)


Dizalo (elevator algorithm)



Osobine algoritma dizala


Prednost
 Poboljanje vremena u odnosu na FCFS
 Malo loije vrijeme nego SSTF
 Rijeen problem sa izgladnjivanjem
Nedostatak
 Problem sa pravednou, zadae koje pristupaju
sredini diska e biti dva puta bre posluivane od
ostalih
41

Algoritam pristupa LOOK




Primjenjujemo slijedei algoritam:


 Kada nova zadaa doe izraunaj udaljenost od
zadae koja trenutno pristupa disku
 Stavi zadau na odgovarajue mjesto u redu
(sortiranom po udaljenosti)
 Kad zadaa zavri odaberi najbliu u jednom smjeru
 Kada zavrimo put u jednom smjeru vraamo se u
suprotnom smjeru, ali za razliku od dizala prije
povratka ne parkiramo glavu na zadnji sektor ve
pogledamo je li to zadnja zadaa u tom smjeru
42

21

LOOK algoritam




Referentni string: 5,35,2,14,12,21,3,9,22,20


Prvi sektor diska je na 0-tom, a zadnji na 40-tom sektoru
Uzmimo da od sektora 5 pristupamo sektorima sa veim rednim brojem
do kraja i zatim se vraamo u suprotnom smjeru:
5,9,12,14,20,21,22,35,3,2

43

Algoritam pristupa - look

44

22

Algoritam pristupa LOOK





Osobine algoritma dizala


Prednost
 Poboljanje vremena u odnosu na FCFS
 Malo loije vrijeme nego SSTF
 Rijeen problem sa izgladnjivanjem
 tedi se vrijeme kod zadnjeg elementa obrade jer se
glava ne parkira na zadnji sektor ako nije potrebno
Nedostatak
 Problem sa pravednou, zadae koje pristupaju
sredini diska e biti dva puta bre posluivane od
ostalih
45

Algoritam pristupa
Jednosmjerno Dizalo C-SCAN
(One-way elevator algorithm)


Primjenjujemo slijedei algoritam:


 Kada nova zadaa doe izraunaj udaljenost od
zadae koja trenutno pristupa disku
 Stavi zadau na odgovarajue mjesto u redu
(sortiranom po udaljenosti)
 Kad zadaa zavri odaberi najbliu u jednom smjeru
 Kada zavrimo put u jednom smjeru vraamo se na
poetak, a prije toga dva puta parkiramo glavu diska
na kraj diska u jednom smjeru i na poetak diska
46

23

Algoritam pristupa
Jednosmjerno Dizalo C-SCAN
(One-way elevator algorithm)




Referentni string: 5,35,2,14,12,21,3,9,22,20


Prvi sektor diska je na 0-tom, a zadnji na 40-tom sektoru
Uzmimo da od sektora 5 pristupamo sektorima sa veim rednim brojem
do kraja i zatim se vraamo na poetak diska: 5,9,12,14,20,21,22,35,2,3

47

Algoritam pristupa jednosmjerno


dizalo

48

24

Vjeba jednosmjerno dizalo


Prvi sektor je 1
Zadnji sektor je
sektor 35

49

Algoritam pristupa
Jednosmjerno Dizalo C-SCAN
(One-way elevator algorithm)


Prednost
 Poboljanje vremena u odnosu na FIFO
 Malo loije vrijeme nego SSTF
 Rijeen problem sa izgladnjivanjem
 Rijeen problem ee posluivanja sredine diska

50

25

Algoritam pristupa
C-LOOK


Primjenjujemo slijedei algoritam:


 Kada nova zadaa doe izraunaj udaljenost od
zadae koja trenutno pristupa disku
 Stavi zadau na odgovarajue mjesto u redu
(sortiranom po udaljenosti)
 Kad zadaa zavri odaberi najbliu u jednom smjeru
 Kada zavrimo put u jednom smjeru vraamo se na
poetak, a prije toga pogledamo je li to zadnja zadaa
u jednom smjeru i vraamo se na obradu zadae koja
je prva na redu na poetku diska
51

Algoritam pristupa
C-LOOK




Referentni string: 5,35,2,14,12,21,3,9,22,20


Prvi sektor diska je na 0-tom, a zadnji na 40-tom sektoru
Uzmimo da od sektora 5 pristupamo sektorima sa veim rednim brojem
do kraja i zatim se vraamo na poetak diska: 5,9,12,14,20,21,22,35,2,3

52

26

Algoritam pristupa C-LOOK

53

Algoritam pristupa
C-LOOK


Prednost
 Poboljanje vremena u odnosu na FIFO
 Malo loije vrijeme nego SSTF
 Rijeen problem sa izgladnjivanjem
 Rijeen problem ee posluivanja sredine diska
 tedi se vrijeme kod zadnjeg elementa obrade jer se
glava ne parkira na zadnji ni na prvi sektor ako nije
potrebno
54

27

Multimedijski sustavi

55

Rasporeivanje procesa u stvarnom


vremenu - Real time scheduling





Tri procesa A, B i C
Svaki radi sa svojim tempom.
Da li se sustav dade rijeiti?





Pi period procesa i (msec)


Ci zahtjevano CPU vrijeme procesa i (msec)
M broj procesa u sustavu
MORA VRIJEDITI DESNA JEDNADBA DA BI SE SUSTAV MOGAO RADITI!

56

28

Rasporeivanje procesa u stvarnom


vremenu


Osnovno obiljeje multimedijskih procesa





Svaki proces je preemptive (prekidiv)


Poeljno je prekinuti proces koji ima vremena da zavri svoj
posao ako neki drugi proces eka i blizu mu je deadline.
Kod prekidivog sustava treba paziti da izlazni meuspremnik
se ne alje korisniku dok ne doe do deadline-a jer se moe
pojaviti jitter.

Algoritmi



Statiki sa fiksnim prioritetima


Dinamiki sa promjenjivim prioritetima
57

Rasporeivanje procesa u stvarnom vremenu Rate monotic scheduling - RMS





RMS (Rate Monotic Scheduling) Liu and layland,1973.


Uvjeti:
 Svaki proces mora zavriti svoj posao unutar svoga perioda
 Niti jedan proces ne ovisi o nekom drugom
 Svaki proces zahtjeva jednako CPU vremena kod svakoga poziva
 Svaki neperiodiki proces nema deadline
 Prekidanje procesa se izvodi u nultom vremenu bez optereenja
procesora
Prva etiri uvjeta su realna peti uvjet slui za simulaciju rada algoritma,
meutim u praksi se svakom procesu dodaje vrijeme potrebno za promjenu
konteksta
Algoritam
 Svaki proces dobiva prioritet koji se izraunava kao broj izvravanja u
sekundi (svakih 30msec= 33 puta/sec, svakih 50msec = 20 puta/sec)
 Uvijek se pokree proces sa najveim prioritetom. Vei prioritet uvijek po
potrebi prekida manji prioritet.
58

29

RMS - Primjer

C ima najmanji prioritet i eka da svi zavre

A prioritet 33
B prioritet 25
C prioritet 20

A ima vei prioritet i prekida B


59

RMS - Primjer

A prioritet 33
B prioritet 25
C prioritet 20


Kako je kod RMS sustava duljina periode jedino vaan i ini


prioritet moe se dogoditi da zbog trajanja pojedinih procesa
proces sa najmanjim prioritetom ne stigne na red !
60

30

Rasporeivanje procesa u stvarnom vremenu


- Earliest Deadline First - EDF


Earliest Deadline First




Dinamiki algoritam koji ne zahtjeva da procesi budu periodiki


niti da jednako troe CPU vrijeme kod pokretanja

Algoritam




Stvara se lista pokrenutih procesa sortiranih po vremenu deadline


Pokree se onaj koji ima najblii deadline
Kada ue novi proces u sustav odmah se provjerava njegov
deadline i ako je manji prekida se trenutni proces.
Ukoliko dva procesa imaju isti deadline izaberi nasumino jedan od
njih (mi u tom sluaju radi jednoznanosti koristimo prioritet)
Prioritet se mijenja dinamiki za razliite poslove od istog procesa
61

EDF - Primjer

62

31

EDF - Primjer

63

Kada radi RMS?




Liu i Layland (1973) dokazali su da sistem periodikih


procesa se moe provesti po RMS algoritmu ako vrijedi

Iznimno radi budui je granini sluaj


0.808 ~=0,778
Ali ne mora uvijek raditi!

Zato RMS?
EDF je sloeniji algoritam koji zahtjeva sloeniji program , a samim time vie serverskih resursa!
64

32

Vjeba1

65

Vjeba2

66

33

Vjeba3

67

Vjeba4

68

34

Primjer zadatka iz druge laboratorijske vjebe

69

Primjer zadatka iz druge laboratorijske vjebe

70

35

Primjer zadatka iz druge laboratorijske vjebe

71

Primjer zadatka iz druge laboratorijske vjebe

72

36

Primjer zadatka iz druge laboratorijske vjebe

73

37

You might also like