ch9 memory management
TRANSCRIPT
Memory Management
9
(Swapping) (Contiguous Allocation) (Paging) (Segmentation)
Memory Management
2
Input queue Memory Management 3
addressing 3 )
Compile time: Load time: relocatable code Execution time: relocatable code logical address physical address
Memory Management
4
user program
Memory Management
5
Logical address (Virtual address) Physical address (MMU) logical address physical address compile-time load time execution-time
Memory Management
6
Memory-Management Unit (MMU)
MMU relocation register user program Memory Management 7
Dynamic relocation
Memory Management
8
Dynamic Loading Memory Management 9
Dynamic Linking
(stub) routine Memory Management 10
Overlays overlay
Memory Management
11
Overlays
Memory Management
12
Swapping backing store Backing store image Roll out, roll in (lower-priority) backing store roll out roll inMemory Management
13
Swapping () swap backing store Unix, Linux, Windows
Memory Management
14
Swapping
Memory Management
15
Contiguous Allocation
2 low memory high memory 2 Memory Management 16
Contiguous Allocation ()
(Single-partition allocation) user program Relocation-register Relocation register limit register Memory Management 17
Relocation and Limit Registers
Memory Management
18
Contiguous Allocation ()
(Multiple-partition allocation) user program (Hole) (allocated partitions) free partitions hole
Memory Management
19
OS OS OS OS
process 5
process 5
process 5 process 9
process 5 process 9
process 8
process 10
process 2
process 2
process 2
process 2
Memory Management
20
3 First-fit: Best-fit: Worst-fit:
Memory Management
21
() First-fit best-fit worst-fit
Memory Management
22
Fragmentation
External Fragmentation Internal Fragmentation
Memory Management
23
Fragmentation ()
(compaction) - Memory Management 24
(Paging)
(frames) 512 8 kbytes ( (pages) Memory Management 25
(Paging) () n n (page table)
Memory Management
26
Page number (p) Page offset (d) Memory Management 27
()
Memory Management
28
Paging
Memory Management
29
Paging ()
Memory Management
30
(Free Frames)
Before allocation
Memory Management
After allocation
31
Page Table
Page-table base register Page-table length register associative memory translation look-aside buffers (TLBs)
Memory Management
32
Paging Hardware TLB
Memory Management
33
Valid-invalid bit valid invalid
Memory Management
34
Valid (v) or Invalid (i) Bit
Memory Management
35
Hierarchical Paging Hashed Page Tables Inverted Page Tables
Memory Management
36
Hierarchical Paging
Memory Management
37
32 4 K 20 page offset 12 20 10 10 page number page offsetpi 10 p2 10 d 1238
Memory Management
()
Memory Management
39
32
Memory Management
40
Hashed Page Tables > 32
Memory Management
41
Hashed Page Tables ()
Memory Management
42
Inverted Page Table (Virtual Address) (Hash Table) Memory Management 43
Inverted Page Table
Memory Management
44
(Shared Pages) (Shared code) read-only text editors, compilers, window systems (Private code and data)
Memory Management
45
Memory Management
46
Segmentation
Segmentation segment segment
Memory Management
47
Segmentation ()
main program, procedure, function, method, object, local variables, global variables, common block,Memory Management 48
Memory Management
49
Segmentation 1 1 2 4
3 4
2
3
user spaceMemory Management
physical memory space50
Segmentation
2 segment-number offset , Segment table 2 base limit Segment-table base register (STBR) Segment-table length register (STLR) Memory Management 51
Segmentation ()
dynamic segment table segment segment segment number Memory Management 52
Segmentation () first fit/best fit external fragmentation segment table validation bit 0 illegal segment
Memory Management
53
Segmentation
Memory Management
54
Segmentation
Memory Management
55
Segment
Memory Management
56