11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno...

Preview:

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

Recommended