11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno...
Transcript of 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno...
![Page 1: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/1.jpg)
S. Ribaric, AIOR 1
11. VIRTUALNI MEMORIJSKI SUSTAV
• Problemi s memorijom u jedno- i višekorisnickom sustavu
• Memorijska hijerarhija
• Fizicki i logicki adresni prostori
• Vremenska i prostorna lokalnost
• Denningov model memorije
• Stranicenje
• Segmentacija
![Page 2: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/2.jpg)
S. Ribaric, AIOR 2
• Proizvodaci racunalskih sustava isporucuju sustave sglavnom (radnom) memorijom kapaciteta od nekolikodesetaka do stotinu i više stotina M bajtova
• Sekundarna memorija – nekoliko desetaka ili stotina (i više)G bajtova.
Problem: Kapacitet glavne memorije otvoreno pitanje odnosa performansa/cijena
Posljedica: Nesklad izmedu memorijskih zahtjeva programa i kapaciteta stvarne, fizicke memorije
![Page 3: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/3.jpg)
S. Ribaric, AIOR 3
Jednokorisnicki racunalni sustav:
• Problem se rješavao uporabom postupka prekrivanja ili preklapanja (engl. Overlay):
- programer je dijelio program na nekoliko programskih blokova
(modula) i blokova podataka
- svi programski blokovi i blokovi podataka nisu istodobno potrebni tijekom izvodenja programa
- u glavnoj se memoriji nalazi programski modul koji se trenutno izvršava i njemu potreban blok podataka
- u glavnoj se memoriji trajno pohranjuje onaj dio programa kojim se upravlja premještanje blokova izmedu glavne memorije i sekundarne memorije
![Page 4: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/4.jpg)
S. Ribaric, AIOR 4
- svi ostali programski moduli su smješteni u sekundarnoj memoriji ipremještaju se u glavnu memoriju upravo kad su potrebni- moduli se premještaju u isto podrucje glavne memorije u kojem su bilipohranjeni prethodni moduli
PREKLAPANJE !!!
Znacajka: Staticko rukovanje memorijom
![Page 5: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/5.jpg)
S. Ribaric, AIOR 5
Pojavom višekorisnickih racunalnih sustava postupak prekrivanja ilipreklapanja je nedjelotvoran i skoro neizvodljiv:
• zbog istodobnog postojanja više programa razlicitih korisnika u glavnojmemoriji• zbog smanjenja raspoloživog prostora za svakog korisnika u glavnojmemoriji
• zbog prisutnosti više aktivnih programskih modula razlicitih korisnika –uporaba zajednickih sustavskih modula → uvodenje dodatnih zaštitnih mehanizama pristupa pojedinim programskim modulima• zbog toga što se podatkovne strukture mijenjaju dinamicki tijekomizvodenja programa
• zbog potrebe razmještanja programskih modula tijekom izvodenjaprograma
RJEŠENJE: Dinamicko rukovanje memorijom
![Page 6: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/6.jpg)
S. Ribaric, AIOR 6
Virtualni memorijski sustav(lat. virtus – hrabrost, snaga, vrlina – snažan, jak sposoban za
djelovanje, no skriven, koji se ne pojavljuje ali se može pojaviti)
• problem kapaciteta glavne memorije rješava se upotrebommemorijske hijerarhije
Uporabom tog arhitektonskog koncepta ostvaruje se sljedeci cilj:
Glavna ili primarna memorija se prividno (virtualno) pojavljujekao memorija koja ima kapacitet sekundarne memorije (npr.nekoliko desetaka ili stotina G bajtova) a brzinu ima jednaku brzini najbrže (ili skoro najbrže) memorije u memorijskoj hijerarhiji.
![Page 7: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/7.jpg)
S. Ribaric, AIOR 7
Memorijska hijerarhija:
(M1, M2, M3, ... Mn)
Mi je “podredena” memoriji Mi-1
Procesor komunicira s prvim clanom hijerarhije (M1)
![Page 8: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/8.jpg)
S. Ribaric, AIOR 8
ci – cijena po bitutai – vrijeme pristupaSi – kapacitet memorije
Vrijedi: ci > ci+1tai < tai+1Si < Si+1
Primjer:
![Page 9: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/9.jpg)
S. Ribaric, AIOR 9
Primjer:
![Page 10: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/10.jpg)
S. Ribaric, AIOR 10
Fizicki i logicki adresni prostor
Skup stvarnih, fizickih memorijskih lokacija glavne memorijeoblikuje fizicku memoriju
memorija prikljucena na sabirnicu procesora, odnosno racunala
Skup adresa koje su jednoznacno dodijeljene tim memorijskim (fizickim) lokacijama predstavlja fizicki adresni prostor
![Page 11: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/11.jpg)
S. Ribaric, AIOR 11
Logicki adresni prostor skup je logickih adresa. Adresa koje upotrebljava programer ili koju generira program ili proces (dretva) kao najmanja programska jedinica naziva se logicka adresa.
adresa koju generira procesor
![Page 12: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/12.jpg)
S. Ribaric, AIOR 12
Odnos izmedu fizickog adresnog prostora (FAP) ilogickog adresnog prostora (LAP):
• LAP = FAP /racunala na bazi 8-bitnih mikroprocesora/• LAP < FAP /racunala na bazi 8-bitnih mikroprocesora –
memorijske banke/• LAP > FAP /16-, 32-, 64-bitni mikroprocesori/ !!!
Problem: za LAP >> FAP odrediti funkciju f:
f: LAP → FAP
![Page 13: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/13.jpg)
S. Ribaric, AIOR 13
f: LAP → FAP
LAP = {0, 1, 2, ..., N-1}FAP = {0, 1, 2, ..., M-1}
vrijedi: N >> M
f: LAP → FAP ∪ φ
![Page 14: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/14.jpg)
S. Ribaric, AIOR 14
Neka je a∈ LAP
Funkcija f je definirana kao:
f(a) = a’ ako se podatak s virtualnom adresom a nalazi naadresi a’ u fizickoj memoriji (a’ ∈ FAP)
f(a) = φ oznacava PROMAŠAJ (engl. Missing-item fault)
![Page 15: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/15.jpg)
S. Ribaric, AIOR 15
Adresno preslikavanje:
![Page 16: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/16.jpg)
S. Ribaric, AIOR 16
Denningov model
![Page 17: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/17.jpg)
S. Ribaric, AIOR 17
Denningov model ima (namjerno) ugradenu nelogicnost:
Tablica preslikavanja ima broj elemenata jednak broju adresau logickom prostoru (kapacitet sekundarne memorije)?!
Broj registara potreban za izvedu tablice preslikavanjapremašuje kapacitet fizicke memorije
Tablicu preslikavanja treba smanjiti!
![Page 18: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/18.jpg)
S. Ribaric, AIOR 18
Rješenje:
Element u tablici preslikavanja neka sadrži adresu bloka podataka umjesto adrese pojedinacno naslovljavanog podatka(u širem smislu te rijeci)
Dijeljenje logickog i fizickog adresnog prostora na blokove!
Blokovi = stranice /ako su cvrste duljine/Blokovi = segmenti /ako su promjenjive duljine/
![Page 19: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/19.jpg)
S. Ribaric, AIOR 19
Stranicenje (engl. Paging)
![Page 20: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/20.jpg)
S. Ribaric, AIOR 20
Translacija zadane virtuane adrese “p-w”u fizicku adresu “q-w”:
VA ← “p-w”, FAULT ← 0READ ← 1MA(q) ← PAGETABLE(VA(p)),
MA(w) ← VA(w)IF (MA(q) = 0) THEN
FAULT ← 1,END
![Page 21: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/21.jpg)
S. Ribaric, AIOR 21
Funkcija translacije adrese:
![Page 22: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/22.jpg)
S. Ribaric, AIOR 22
Omjer pogotka H (engl. Hit ratio)
H – vjerojatnost da se logicka adresa koja je generiranaod procesora odnosi na informaciju koja se nalazi u glavnojmemoriji (M1)
M1, N1 - broj pozivanjaM2, N2 - broj pozivanja
H = N1 / (N1 + N2)
![Page 23: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/23.jpg)
S. Ribaric, AIOR 23
Omjer promašaja (engl. Miss ratio)
Miss_ratio = 1 – H
![Page 24: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/24.jpg)
S. Ribaric, AIOR 24
Performansa memorijskog sustava zavisi od:
• statistickih svojstava pozivanja/ redoslijed i frekvencija pojavljivanja logickih adresa/• velicine bloka (stranice) i kapaciteta glavne memorije• strategije zamjene stranica i tehnike adresnog preslikavanja
![Page 25: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/25.jpg)
S. Ribaric, AIOR 25
Lokalnost
Vremenska lokalnost – ocituje se u tomu što ce program ubliskoj buducnosti naslovljavati (referencirati) oneprogramske i podatkovne objekte koje je naslovljavao i ubližoj prošlosti.
Prostorna lokalnost – se manifestira u tomu što ce programnaslovljavati u skoroj buducnosti one programske ipodatkovne objekte koji imaju adrese bliske onima koje suupotrebljavane u bližoj prošlosti.
![Page 26: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/26.jpg)
S. Ribaric, AIOR 26
Lokalnost – izražena radnim skupom WS(t, h) (engl. Working set).
WS(t, h) predstavlja skup memorijskih lokacija ili blokova koji su u vremenu t referencirani u posljednjih h pozivanja:
WS(t, h) = {i ∈ N i ∈ rk-h, rk-h+1, ... , rk}
skup stranica /blokova/ N = {1, 2, ... , n} koji cine neki program
![Page 27: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/27.jpg)
S. Ribaric, AIOR 27
R – slijed naslovljavanja stranica:
R = (r1, r2, ..., rk, ... )
WS(k, h) – skup stranica koje se javljaju u “oknu”naslovljavanja velicine h (gledajuci unatrag u slijedunaslovljavanja stranica).
Primjer:Neka je R = (4, 4, 5, 4, 5, 5, 6, 20, 20, ... ) slijed naslovljavanja stranica
WS(6, 4) = { 4, 5}
k = 1 2 3 4 5 6 7 8( 4 4 5 4 5 5 6 20... )
h = 4
![Page 28: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/28.jpg)
S. Ribaric, AIOR 28
Primjer:Nacin smještanja stranica:• potpuno asocijativno
preslikavanjeNacin zamjene stranica:• LRU algoritam
zamjene stranica
![Page 29: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/29.jpg)
S. Ribaric, AIOR 29
Nacin smještanja stranica odreduje kako se stranice iz sekundarnememorije preslikavaju u stranice primarne memorije:
• potpuno asocijativno preslikavanje
• izravno (direktno) preslikavanje
• skupno asocijativno preslikavanje
![Page 30: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/30.jpg)
S. Ribaric, AIOR 30
Potpuno asocijativnopreslikavanje:
-stranica iz sekundarnememorije može se se smjestitina bilo koji slobodni stranicniprikljucak
![Page 31: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/31.jpg)
S. Ribaric, AIOR 31
Izravno preslikavanje:- svaka stranica iz sekundarne memorije može se smjestiti samona odredeni stranicni prikljucak:
j = i (modulo Bp)
Stranica iz sekundarne memorije sastranicnim brojem i smješta se na stranicni prikljucak j; Bp – broj stranicnih prikljucaka
![Page 32: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/32.jpg)
S. Ribaric, AIOR 32
Skupno asocijativno preslikavanje (engl. Set associative):Stranicni prikljucci primarne memorije grupirani suu skupove tako da je dopušteno preslikavanje straniceiz sekundarne memorije u bilo koji prikljucak kojipripada odgovarajucem skupu
Stranica s indeksomi iz sekundarnememorije može se
prikljuciti na bilo kojislobodni prikljucakskupine j:
j = i (modulo Bs)
Bs = Q – broj skupova
![Page 33: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/33.jpg)
S. Ribaric, AIOR 33
Algoritmi zamjene stranica
Situacija:- nova se stranica iz sekundarne memorije treba prenijeti u glavnu memoriju
a u njoj nema slobodnog stranicnog prikljucka
Odluka:- koja ce se stranica iz glavne memorije odstraniti i na taj nacin osloboditi
stranicni prikljucak
Algoritmi zamjene:- Slucajni izbor- FIFO- LRU (engl. Least Recently Used)- OPT! (optimalna strategija zamjene stranica zahtijeva potpuno
znanje o buducim referenciranjima stranica)
![Page 34: 11. VIRTUALNI MEMORIJSKI SUSTAV - Matematički odsjek · Glavna ili primarna memorija se prividno (virtualno) pojavljuje kao memorija koja ima kapacitet sekundarne memorije (npr.](https://reader033.fdocuments.net/reader033/viewer/2022041413/5e19ac10f50fc7324472cc89/html5/thumbnails/34.jpg)
S. Ribaric, AIOR 34
Primjer višekorisnickog virtualnog
sustava