OS Hoofdstuk 9 Flashcards

1
Q

Wat voor memory addressen gebruiken compilers / linkers?

A

logische / virtuele memory addresses

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

Tot welk geheugen heeft de cpu allemaal rechtstreeks toegang?

A

Zijn registers en de main memory

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

Waar worden de base en limit van een proces opgeslagen?

A

base en limit register

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

Hoe zorgt de OS er voor dat een proces in user mode alleen bij zijn eigen geheugen kan?

A

Wanneer het proces probeert om bij geheugen te komen dat buiten de base en limit valt, resulteert dit in een trap naar de OS.
Het wordt dan gezien als een fatal error

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

Wat doet de memory management unit?

A

Het mappen van virtual addresses naar physical addressess.

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

Hoe wordt dynamic relocation gedaan via de MMU?

A

Het fysieke address (wat daadwerkelijk in geheugen komt), wordt het logische address + het einde van de OS.
Voorbeeld: OS eindigt bij 14000. Logische address = 346. Het fysieke address wordt 14346.

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

Noem 3 voordelen van dynamic memory allocation:

A

1: Grote data structuren hoeven niet gespecifieerd te worden.
2: Data kan groeien.
3: Kan recursief

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

Wat is het grote nadeel van dynamic memory allocation?

A

Kan een grote impact hebben op performance

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

Wat is het grote nadeel van dynamic memory allocation?

A

Kan een grote impact hebben op performance

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

Is het mogelijk om een memory allocater te maken die in elk scenario goed werkt?

A

nee, dit is niet mogelijk

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

Wat is static linking?

A

System libraries worden hier behandeld net als andere object modules en worden samen gecombined door de loader naar een binary program image.

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

Is operating system memory usually placed in low or high memory?

A

high memory

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

Wat is contiguous memory?

A

Een proces is opgeslagen in een stukje geheugen, in het geheugen dat daar aan grenst, zit het volgende proces, etc.

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

Welke 3 strategieën zijn er op een hole te vullen?

A

first-fit, best-fit en worst-fit

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

Wat is fragmantation?

A

Wanneer er in het geheugen heel veel kleine gaten zijn. Hierdoor is er wel geheugen vrij, maar de plekken zijn te klein om wat op te slaan.

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

Welke 2 factoren zijn er nodig om fragmantation te veroorzaken?

A

1: verschillende lifetimes van objects.
2: objects zijn verschillende groottes

16
Q

Wat is internal fragmentation?

A

Ruimte binnen een page dat niet wordt gebruikt.

17
Q

Wat is external fragmentation?

A

Ongebruikte ruimte tussen pages

18
Q

Welke 3 memory allocation strategieën zijn er?

A

1: contiguous
2: paging
3: segmentation

19
Q

Wat zijn frames bij paging?

A

physical memory wordt onderverdeeld in blocken van een vaste grootte, dit zijn de frames.

20
Q

Hoe werkt paging?

A

Fysiek geheugen wordt verdeeld in frames.

21
Q

Waar in het geheugen staat de page table?

A

page-table base register PRBR wijst naar start van table

22
Q

Hoeveel memory accesses zijn er nodig wanneer er data/instruction access plaats vind?

A

2, 1 voor de page table en 1 voor de data/instructie ophalen zelf

23
Q

Voor welke processen is er een page table?

A

voor alle

24
Q

Wat gebeurt er met een page-table bij een context switch?

A

De page table wordt gereload.

De kernel weet naar welk proces er wordt geswitched en de page tables worden omgedraaid

25
Q

Wat doet de translation look-aside buffer (TLB)?

A

de TLB is hardware cache waarmee zonder performance loss, een physical address kan ophalen. de TLB is een key-value storage. Wanneer de gezochte entry niet in de TLB staat moet er alsnog naar de page table worden gekeken wat iets langzamer is.

26
Q

Wat doet de valid-invalid bit? waar staat deze bit?

A

Wanneer de bit valid is, betekent het dat de geassocieerde page in de logical address space van het proces is, het is dus een legale page.

27
Q

Wat is two-level paging?

A

Hier krijg je een page table die naar een page table verwijst.
De page number wordt opgesplit in 2 getallen.
Het eerste getal wordt gebruikt voor de eerste table, de outer page table.
In de outer page table wordt verwijst naar een inner page table.
Door bij het 2de getal in de inner page table te kijken, vind je de physical address.

28
Q

Welke soorten page tables zijn er?

A

single-level
multi-level / hierarchical
inverted

29
Q

Wat moet je gebruiken als page tables te groot worden om in het geheugen op te slaan?

A

Hierarchical page tables gebruiken. table wordt een tree van tables.

30
Q

Waarom zou je een inverted page table willen gebruiken?

A

Het geheugen gebruik voor translations wordt minder

31
Q

Hoe wordt een inverted page table geindexed?

A

op frame nummer

32
Q

Wat zit er in een entry bij een inverted page table?

A

PID en page nummer

33
Q

Wat is standard swapping?

A

een proces uit de main memory op een disk zetten

34
Q

wat is page swapping?

A

een hele page wordt van de main memory op een disk gezet