34
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

11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 2: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 3: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 4: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 5: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 6: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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.

Page 7: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 7

Memorijska hijerarhija:

(M1, M2, M3, ... Mn)

Mi je “podređena” memoriji Mi-1

Procesor komunicira s prvim članom hijerarhije (M1)

Page 8: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 8

Primjer:ci – cijena po bitutai – vrijeme pristupaSi – kapacitet memorije

Vrijedi: ci > ci+1tai < tai+1Si < Si+1

Page 9: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 9

Primjer:

Page 10: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 11: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 12: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 13: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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 ∪ φ

Page 14: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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)

Page 15: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 15

Adresno preslikavanje:

Page 16: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 16

Denningov model

Page 17: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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!

Page 18: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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/

Page 19: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 19

Straničenje (engl. Paging)

Page 20: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 21: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 21

Funkcija translacije adrese:

Page 22: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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)

Page 23: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 23

Omjer promašaja (engl. Miss ratio)

Miss_ratio = 1 – H

Page 24: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 25: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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.

Page 26: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 27: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 28: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 28

Primjer:

• LRU algoritamzamjene stranica

• potpuno asocijativnopreslikavanje

Page 29: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 30: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 30

Potpuno asocijativnopreslikavanje:

-stranica iz sekundarnememorije može se se smjestitina bilo koji slobodni staničnipriključak

Page 31: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 32: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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

Page 33: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

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)

Page 34: 11. VIRTUALNI MEMORIJSKI SUSTAV - FER · memorija priključena na sabirnicu procesora, odnosno računala Skup adresa koje su jednoznačno dodijeljene tim memorijskim (fizičkim) lokacijama

S. Ribarić, AIOR 34

Primjer višekorisničkog virtualnog

sustava