Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
S. Ribarić, AIOR 1
11. VIRTUALNI MEMORIJSKI SUSTAV
• Problemi s memorijom u jedno- i višekorisničkom sustavu
• Memorijska hijerarhija
• Fizički i logički adresni prostori
• Vremenska i prostorna lokalnost
• Denningov model memorije
• Straničenje
• Segmentacija
S. Ribarić, AIOR 2
• Proizvođači računalskih sustava isporučuju 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 između memorijskih zahtjeva programa i kapaciteta stvarne, fizičke memorije
S. Ribarić, AIOR 3
Jednokorisnički računalni 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 izvođenja 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 između glavne memorije i sekundarne memorije
S. Ribarić, 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 područje glavne memorije u kojem su bilipohranjeni prethodni moduli
PREKLAPANJE !!!
Značajka: Statičko rukovanje memorijom
S. Ribarić, AIOR 5
Pojavom višekorisničkih računalnih sustava postupak prekrivanja ilipreklapanja je nedjelotvoran i skoro neizvodljiv:
• zbog istodobnog postojanja više programa različitih korisnika u glavnojmemoriji• zbog smanjenja raspoloživog prostora za svakog korisnika u glavnojmemoriji• zbog prisutnosti više aktivnih programskih modula različitih korisnika –uporaba zajedničkih sustavskih modula → uvođenje dodatnih zaštitnih mehanizama pristupa pojedinim programskim modulima• zbog toga što se podatkovne strukture mijenjaju dinamički tijekomizvođenja programa• zbog potrebe razmještanja programskih modula tijekom izvođenjaprograma
RJEŠENJE: Dinamičko rukovanje memorijom
S. Ribarić, 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 sljedeći 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.
S. Ribarić, AIOR 7
Memorijska hijerarhija:
(M1, M2, M3, ... Mn)
Mi je “podređena” memoriji Mi-1
Procesor komunicira s prvim članom hijerarhije (M1)
S. Ribarić, AIOR 8
Primjer:ci – cijena po bitutai – vrijeme pristupaSi – kapacitet memorije
Vrijedi: ci > ci+1tai < tai+1Si < Si+1
S. Ribarić, AIOR 9
Primjer:
S. Ribarić, AIOR 10
Fizički i logički adresni prostor
Skup stvarnih, fizičkih memorijskih lokacija glavne memorijeoblikuje fizičku memoriju
memorija priključena na sabirnicu procesora, odnosno računala
Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama predstavlja fizički adresni prostor
S. Ribarić, AIOR 11
Logički adresni prostor skup je logičkih adresa. Adresa koje upotrebljava programer ili koju generira program ili proces (dretva) kao najmanja programska jedinica naziva se logička adresa.
adresa koju generira procesor
S. Ribarić, AIOR 12
Odnos između fizičkog adresnog prostora (FAP) ilogičkog adresnog prostora (LAP):
• LAP = FAP /računala na bazi 8-bitnih mikroprocesora/• LAP < FAP /računala na bazi 8-bitnih mikroprocesora –
memorijske banke/• LAP > FAP /16-, 32-, 64-bitni mikroprocesori/ !!!
Problem: za LAP >> FAP odrediti funkciju f:
f: LAP → FAP
S. Ribarić, AIOR 13
f: LAP → FAP
LAP = {0, 1, 2, ..., N-1}FAP = {0, 1, 2, ..., M-1}
vrijedi: N >> M
f: LAP → FAP ∪ φ
S. Ribarić, 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 fizičkoj memoriji (a’ ∈ FAP)
f(a) = φ označava PROMAŠAJ (engl. Missing-item fault)
S. Ribarić, AIOR 15
Adresno preslikavanje:
S. Ribarić, AIOR 16
Denningov model
S. Ribarić, AIOR 17
Denningov model ima (namjernu) ugrađenu nelogičnost:
Tablica preslikavanja ima broj elemenata jednak broju adresau logičkom prostoru (kapacitet sekundarne memorije)?!
Broj registara potreban za izvedu tablice preslikavanjapremašuje kapacitet fizičke memorije
Tablicu preslikavanja treba smanjiti!
S. Ribarić, AIOR 18
Rješenje:
Element u tablici preslikavanja neka sadrži adresu bloka podataka umjesto adrese pojedinačno naslovljavanog podatka(u širem smislu te riječi)
Dijeljenje logičkog i fizičkog adresnog prostora na blokove!
Blokovi = stranice /ako su čvrste duljine/Blokovi = segmenti /ako su promjenjive duljine/
S. Ribarić, AIOR 19
Straničenje (engl. Paging)
S. Ribarić, AIOR 20
Translacija dane virtuane adrese “p-w”u fizičku 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
S. Ribarić, AIOR 21
Funkcija translacije adrese:
S. Ribarić, AIOR 22
Omjer pogotka H (engl. Hit ratio)
H – vjerojatnost da se logička 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)
S. Ribarić, AIOR 23
Omjer promašaja (engl. Miss ratio)
Miss_ratio = 1 – H
S. Ribarić, AIOR 24
Performansa memorijskog sustava zavisi od:
• statističkih svojstava pozivanja/ redoslijed i frekvencija pojavljivanja logičkih adresa/• veličine bloka (stranice) i kapaciteta glavne memorije• strategije zamjene stranica i tehnike adresnog preslikavanja
S. Ribarić, AIOR 25
Lokalnost
Vremenska lokalnost – očituje se u tomu što će program ubliskoj budućnosti naslovljavati (referencirati) oneprogramske i podatkovne objekte koje je naslovljavao i ubližoj prošlosti.
Prostorna lokalnost – se manifestira u tomu što će programnaslovljavati u skoroj budućnosti one programske ipodatkovne objekte koji imaju adrese bliske onima koje suupotrebljavane u bližoj prošlosti.
S. Ribarić, 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 čine neki program
S. Ribarić, AIOR 27
R – slijed naslovljavanja stranica:
R = (r1, r2, ..., rk, ... )
WS(k, h) – skup stranica koje se javljaju u “oknu”naslovljavanja veličine h (gledajući 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
S. Ribarić, AIOR 28
Primjer:
• LRU algoritamzamjene stranica
• potpuno asocijativnopreslikavanje
S. Ribarić, AIOR 29
Način smještanja stranica određuje kako se stranice iz sekundarnememorije preslikavaju u stranice primarne memorije:
• potpuno asocijativno preslikavanje
• izravno preslikavanje
• skupno asocijativno preslikavanje
S. Ribarić, AIOR 30
Potpuno asocijativnopreslikavanje:
-stranica iz sekundarnememorije može se se smjestitina bilo koji slobodni staničnipriključak
S. Ribarić, AIOR 31
Izravno preslikavanje:- svaka stranica iz sekundarne memorije može se smjestiti samona određeni stranični priključak:
j = i (modulo Bp)
Stranica iz sekundarne memorije sastraničnim brojem i smješta se na stranični priključak jBp – broj straničnih priključaka
S. Ribarić, AIOR 32
Skupno asocijativno preslikavanje (engl. Set associative):Stranični priključci primarne memorije grupirani suu skupove tako da je dopušteno preslikavanje straniceiz sekundarne memorije u bilo koji priključak kojipripada odgovarajućem skupu
Stranica s indeksomi iz sekundarnememorije može sepriključiti na bilo kojislobodni priključakskupine j:
j = i (modulo Bs)
Bs = Q – broj skupina
S. Ribarić, AIOR 33
Algoritmi zamjene stranica
Situacija:- nova se stranica iz sekundarne memorije treba prenijeti u glavnu memorijua u njoj nema slobodnog straničnog priključka
Odluka:-koja će se stranica iz glavne memorije odstraniti i na taj način osloboditistranični priključak
Algoritmi zamjene:- Slučajni izbor- FIFO- LRU (engl. Least Recently Used)
S. Ribarić, AIOR 34
Primjer višekorisničkog virtualnog
sustava