Memory Management Flashcards

1
Q

Memory divided into allocation units. Each unit is a bit, 0 if the unit is free and 1 if occupied

A

Memory management with bitmaps

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

Memory managed via nodes

A

Memory management with linked lists

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

Process blocks or holes, indicated via first value in linked list

A

Memory management with linked lists

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

Look through all segments until an open hole is found of sufficient size. Use up as much of segment as possible

A

First fit

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

Keep pointer to last memory hole and insert into next region (hole or ones after) that can fit memory

A

Next fit

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

Take the smallest hole that is adequate

A

Best fit

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

Take the largest hole possible

A

Worst fit

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

Load first instruction at base address and add base address to all other instructions

A

Static relocation

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

Base and limit registers

A

Intel 8088

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

Brings program into main memory and runs for certain chunk of time

A

Swapping

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

Allows program to run even if only part of program in main memory

A

Virtual memory

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

Where virtual addresses are mapped to physical addresses

A

Memory management unit

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

What occurs during a page fault

A
  • OS picks page to write with disk
  • Bring page with needed address into memory
  • Restart instruction
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Stores frequently accessed frames in the MMU

A

Translation Lookaside Buffer

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

Indicates in TLB that page is in use

A

valid bit

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

What occurs during TLB page fault

A

Page table lookup and evict TLB entry

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

When page table is not in TLB but is in active memory

A

Soft miss

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

Page table is not in TLB but is in disk

A

Hard miss

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

Entries = virtual address size / (page size * ram size)

A

Inverted page table number of entries

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

2^PT_1 * 2^PT_2 * 2^offset

A

Total addressable memory in Multi level page table

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

Each process keeps own page table. Converts virtual page number to physical frame / page address

A

Regular page table

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

Virtual page for each occupied physical memory frame

A

Inverted page table

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

Easier to map from physical to logical addresses

A

Inverted page table

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

Easier to map from logical to physical addresses

A

Regular page table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
If page is written to, before we evict it, must
copy it to disk
26
Pick page which will not be used in future for longest time
Optimal page replacement
27
Use R and M to create classes of page. Select page from lowest class for eviction
Not Recently Used
28
not referenced, not modified
class 0
29
not referenced, modified
class 1
30
referenced, not modified
class 2
31
referenced, modified
class 3
32
keep list ordered by time and evict oldest
FIFO
33
pages sorted by FIFO. When at end of queue, if R (read) bit is 1, set to 0 and move to end of queue
Second chance algorithm
34
When page fault occurs, page the hand is pointing to is inspected. If R = 0, evict the page. If R = 1, set R = 0 and advance hand
Clock page replacement algorithm
35
Replace page that has not been used in the most amount of time
Least recently used
36
Number of pages at time t used by k most recent memory references. If fault occurs, replace page not in set.
Working set
37
Reference bit is 1
page referenced during current tick and is in WS
38
Reference bit is 0
Must manually check if page is in working set
39
Page not in working set and page is clean
replace page
40
Page not in working set and page dirty
Write to disk and go to next page in WS
41
Takes into account just processes that faulted
local paging
42
takes into account all processes
global paging
43
Waste memory when working sets shrink
local paging
44
Use page fault frequency to modify allocation size for each process
global paging
45
Occurs when pages faults are constantly happening
thrashing
46
Size of page
sqrt(2s * e), with s process size and e size of page table entry
47
t = (1 - p) * a + p * f
performance estimation of page fault
48
allocate dynamic partitions to process when starts up
static partition
49
manage processes as list of free chunks. Page offset in virtual address space corresponds to address on disk
static partition
50
don't allocate disk space in advance, swap pages in/out as needed
dynamic partition
51
Requires programmer to be aware of underlying technique for MM
segmentation
52
Number of linear address spaces in paging
1
53
Number of linear address spaces in segmentation
many
54
Total address size can exceed size of physical memory
both segmentation and paging
55
Procedures and data be distinguished and protected separately
Yes for segmentation, no for paging
56
Handles tables with changing sizes
Yes segmentation, no paging
57
Linear address space for less physical memory
Invention of paging reason
58
Allows programs to be divided into logically independent spaces
Invention of segmentation reason
59
When processes do not need memory anymore, causing gaps in-between segments
external fragmentation
60
Go through all segments and advance any in-use segment to remove wasted space
compaction
61
Program requests more memory than needed, leading to excess allocation
internal fragmentation
62
Paging individual segments
MULTICS
63