T10.3/T11.2 Virtuelt minne Flashcards

1
Q

⭐️ Hvordan oversettes virtuelle adresser til fysiske adresser?

A

Operativsystemet bruker sidetabellen til å tilordne virtuelle sider til fysiske sider

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hva består sidetabellen av?

A

Minnet delt inn i sider på typsik 4 KiB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Prosess

A

Et kjørende program med en tilstand

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

⭐️ Hvilket arbeid gjør programvaren under oversetting av virtuelle adresser til fysiske adresser?

A

Operativsystemet endrer sidetabellen som er lagret i minnet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Adresse oversettelse

A

Prosessen der en virtuell adresse blir mappet til en adresse brukt til å aksessere minnet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hvor ligger sidetabellen?

A

I hovedminnet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

⭐️ Hvilket arbeid gjør maskinvaren under oversetting av virtuelle adresser til fysiske adresser?

A

Maskinvaren har sidetabell registeret som peker på starten av sidetabellen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

De minst signifikante bitene i en adresse går til hvilke verdier?

A

Verdier inni siden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hva angir den delen av adressen som ikke består av LSB?

A

Sidenummeret

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Dersom den gyldige bit’en vi bruker i sidetabell inngangsverdien er on vil det si at

A

siden er i minnet og inngangsverdien inneholder det fysiske sidetallet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Dersom den gyldige bit’en vi bruker i sidetabell inngangsverdien er off vil det si at

A

siden ikke er i hovedminnet og en sidefeil oppstår

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

⭐️ Hvordan brukes et Translation Lookaside Buffer til å implementere rask adresseoversettelse?

A
  • Lagrer et hurtigbuffer med nylig brukte sideoversettelser.
  • Når en virtuell adresse skal oversettes, sjekker systemet først TLB
  • Dersom oversettelsen finnes der, kan den fysiske adressen hentes raskt, ellers så må systemet gå gjennom hele sidekartet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hvordan optimaliserer man en TLB?

A

Gjør TLB’en fullassosiativ - øker treffrate
Legger til maskinvarestøtte for å slå opp i sidetabellen - reduserer kostnad ved bom

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

⭐️ Hvordan kan virtuelt minne brukes til å beskytte prosesser fra hverandres minneaksesser?

A

Virtuelt minne beskytter prosesser fra hverandres minneaksesser ved å isolere minneområdene til hver prosess. Dette gjøres ved
- Isolasjon av minneområder
- Systemmodi
- Prosessortilstand
- Modusbytte
- Kontekstbytte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hvilke to systemmodi trenger man minst for å implementere beskyttelse?

A

Brukermodus og systemmodus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Priviligerte instruksjoner

A

generer unntak hvis de kjøres i brukermodus

17
Q

En funksjonalitet som kreves for å implementere beskyttelse er en tilstand i prosessoren som kan

A

leses i brukermodus, men kun skrives i systemmodus

18
Q

En funksjonalitet som kreves for å implementere beskyttelse er at man kan bytte mellom

A

brukermodus og systemmodus

19
Q

Kontekstbytte

A

Å bytte mellom prosesser

20
Q

Hva går isolasjon av minneområder ut på?

A

Hver prosess har sitt eget minneområde, som hindrer feil og villet tilgang fra andre prosesser.

21
Q

Hva går systemmodi ut på?

A

Det finnes minst to modi - brukermodus og systemmodus. Priviligerte instruksjoner kan kun kjøres i systemmodus, og forsøk på å kjøre dem i brukermodus genererer unntak.

21
Q

Hva går prosessortilstand ut på?

A

Visse tilstander i prosessoren kan leses i brukermodus, men kun skrives i systemmodus. Dette inkluderer modusbit (som indikerer systemmodus) og sidetabellpeker (som peker til prosessens sidetabell).

22
Q

Hva går modusbytte ut på?

A

Systemet kan bytte mellom brukermodus og systemmodus via systemkall (f.eks. ecall i RISC-V) og systemretur (sret i RISC-V).

23
Q

Hva går kontekstbytte ut på?

A

Når prosesser byttes, lagrer operativsystemet all tilstanden til den nåværende prosessen slik at den kan gjenopptas senere uten problemer. Operativsystemet fungerer som en privilegert prosess med spesielle rettigheter

24
Q

Hvordan oppstår sidefeil?

A

Når siden vi aksesserer ikke er i minnet

25
Q

⭐️ Hvordan håndteres sidefeil?

A
  • Prosessoren fullfører alle instruksjoner før load-instruksjonen og generer et unntak
  • Operativsystem håndterer unntaket
  • Prosessoren utfører load-instruksjonen
26
Q

⭐️ Hvordan håndteres genereringen av unntak pga. sidefeil?

A
  • Operativsystemet bytter til systemmodus og lagrer tilstanden til prosessen som utførte instruksjonen
  • Setter inn den manglende siden i minnet og oppdaterer sidetabellen
  • Legger inn den nye tilordningen i TLB
  • Skriver tilbake tilstanden til prosessen
  • Bytter til brukermodus og returnerer kontroll til prosessen
27
Q

⭐️ Hva er en virtuell maskin?

A

En programvarebasert emulering av en fysisk datamaskin. Som støttes av programvare kalt VMM, som administrerer de virtuelle maskinene. Den underliggende maskinvareplattformen kalles “host”, og dens ressurser deles med “guest” VMs.

28
Q

Hvilke krav stilles til VMM?

A

Må ha minst to prosessormoduser: system og bruker.
Må ha et sett med privilegerte instruksjoner som kun kan aksesseres i systemmodus.

29
Q

Hva er fordelene med virtuelle maskiner?

A

Forbedrer beskyttelse ved å isolere miljøer.
Gjør det enklere å håndtere programvare.
Gjør det enklere å håndtere maskinvare.

30
Q

Hvordan kan man forbedre ytelsen til virtuelle maskiner?

A

Redusere kostnaden av prosessorvirtualisering.
Redusere interrupt overhead på grunn av virtualisering.
Styre interrupts direkte til riktig VM uten å bruke VMM.