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
Hvordan oppstår sidefeil?
Når siden vi aksesserer ikke er i minnet
25
⭐️ Hvordan håndteres sidefeil?
- Prosessoren fullfører alle instruksjoner før load-instruksjonen og generer et unntak - Operativsystem håndterer unntaket - Prosessoren utfører load-instruksjonen
26
⭐️ Hvordan håndteres genereringen av unntak pga. sidefeil?
- 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
⭐️ Hva er en virtuell maskin?
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
Hvilke krav stilles til VMM?
Må ha minst to prosessormoduser: system og bruker. Må ha et sett med privilegerte instruksjoner som kun kan aksesseres i systemmodus.
29
Hva er fordelene med virtuelle maskiner?
Forbedrer beskyttelse ved å isolere miljøer. Gjør det enklere å håndtere programvare. Gjør det enklere å håndtere maskinvare.
30
Hvordan kan man forbedre ytelsen til virtuelle maskiner?
Redusere kostnaden av prosessorvirtualisering. Redusere interrupt overhead på grunn av virtualisering. Styre interrupts direkte til riktig VM uten å bruke VMM.