CMD + K

Kapittel 8Begreper & formler · Virtuelt minne, page faults og sideerstatning
Referanseside · Kapittel 8

Begreper & formler

Alle nøkkelbegrepene og formlene fra Virtuelt minne, page faults og sideerstatning, samlet på én side. Bruk denne som oppslag når du leser, øver flashcards eller tar quiz.

Øv med flashcards22 kort fra dette kapittelet

Begreper

Sentrale begreper fra kapittelet med korte definisjoner.

01Page fault

Hendelsen der en prosess refererer til en side som ikke er i fysisk minne.

02Swap

Diskområde brukt til å lagre sider som midlertidig ikke er i RAM.

03Replacement policy

Regelen som avgjør hvilken side som ofres når en ny side må inn og minnet er fullt.

04FIFO replacement

Den siden som har ligget lengst i minnet, fjernes først.

05LRU

Least Recently Used; prøver å fjerne siden som ikke har vært brukt på lengst tid.

06Clock algorithm

Praktisk approksimasjon av LRU basert på referenced-bit.

07Working set

Mengden sider en prosess aktivt bruker i et nylig tidsvindu.

08Thrashing

Tilstanden der systemet bruker mesteparten av tiden på page faults og disk-I/O i stedet for nyttig arbeid.

09OPTIMAL (MIN, Belady)

Teoretisk «orakel»-policy: erstatter den siden som vil bli brukt sist i fremtiden. Praktisk umulig (krever fremtidsviten), men brukes som referanse for å måle hvor god en ekte policy er.

10LRU (Least Recently Used)

Erstatter siden som ikke har vært brukt lengst. Approksimerer OPTIMAL ved antakelse om temporal locality. Krever bokføring av hver tilgang — ekte LRU er dyrt, derfor brukes klokke-/aging-approksimasjoner.

11FIFO page replacement

Erstatter siden som har ligget lengst i minnet. Enkelt, men kan vise Belady-anomali — flere rammer kan gi flere page faults.

12Belady-anomali

Fenomen der antall page faults øker når antall rammer øker, observert i FIFO. OPTIMAL og LRU har stack-egenskap og lider ikke av dette.

13Page hit / page miss

Hit: siden ligger i fysisk minne, oppslaget er raskt. Miss (page fault): siden må hentes fra disk, koster millisekunder. Stor forskjell driver designet av VM-policy.

14Working set

Settet av sider en prosess aktivt bruker innenfor et gitt tidsvindu. Hvis working set ikke får plass i RAM → thrashing.

15Thrashing

Tilstand der systemet bruker mer tid på å laste inn/ut sider enn på å kjøre faktisk kode. Nesten alle minneaksesser blir page faults. Symptom: CPU-utnyttelse stuper, disk-aktivitet skyhøy.

16Demand paging

Sider lastes fra disk inn i RAM først når de faktisk aksesseres (på page fault), ikke ved prosessoppstart. Sparer minne og oppstartstid.

Formler

Hver formel: hva den heter, hvordan den ser ut, og hva symbolene betyr.

eat

Effektiv tilgangstid med page faults

Logg inn for forklaring

Selv en liten fault-rate kan dominere hvis `T_fault` er mange størrelsesordener dyrere enn et vanlig minneoppslag.

ppage fault-rate (0..1)
T_Mtid for vanlig minneoppslag, ~100 ns
T_faulttid for å håndtere et fault, ofte millisekunder
ws-def

Working-set-idé

Logg inn for forklaring

Gir et begrepsmessig mål på hvor mye fysisk minne en prosess egentlig trenger for å unngå thrashing.

\Deltatidsvindu vi måler over (typisk milliseksunder eller antall referanser)
fault-pressure

Fault pressure

Logg inn for forklaring

Når samlet aktivt behov overstiger fysisk kapasitet, kollapser ofte ytelsen.

WS_iworking set til prosess i
Rammer_fysantall fysiske rammer i RAM
emat

Effektiv minnetilgangstid (EMAT)

Logg inn for forklaring

p er page fault rate (0..1). Et lite p kan bli stort i EMAT fordi t_pagefault ≈ ms mens t_minne ≈ ns — tusenfold forskjell.

ppage fault-rate (0..1)
t_minne≈ 100 ns
t_pagefault≈ 1–10 ms — fire–fem størrelsesordener tregere
hit-ratio

Hit ratio og miss ratio

Logg inn for forklaring

Hovedmål for hvor god en policy er på en gitt referansestrøm.

page-size-tradeoff

Trade-off i sidestørrelse

Logg inn for forklaring

Generisk regel: 4 KB er kompromisset for de fleste systemer.

Læringsmål

Hva du skal kunne etter å ha lest kapittelet.

  1. 01Forklare hva som skjer ved en page fault og hvorfor kostnaden dominerer EMAT selv ved lav fault-rate
  2. 02Sammenligne FIFO, LRU og klokke-algoritmen og forklare hvorfor LRU approksimeres i praksis
  3. 03Beskrive working set og hvordan thrashing oppstår når summen av working sets overgår fysisk minne
  4. 04Begrunne valget av 4 KB sidestørrelse ut fra trade-offen mellom TLB-trykk, fragmentering og fault-håndtering