(Usage hints for this presentation)
IT Systems, Summer Term 2024
Dr. Jens Lechtenbörger (License Information)
(Based on Chapter 6 of (Hailperin 2019))
Physical memory split among all processes
OS maintains page table per process
Valid | Frame# |
---|---|
1 | 1 |
1 | 0 |
0 | X |
0 | X |
0 | X |
0 | X |
1 | 3 |
1 | 6 |
0 | X |
1 | 5 |
The page table
Figure © 2016 Julia Evans, all rights reserved; from julia's drawings. Displayed here with personal permission.
Address translation by Memory Management Unit
Latency: Access of page table before RAM access
“Figure 6.4 of cite:Hai17” by Max Hailperin under CC BY-SA 3.0; converted from GitHub
Pages may or may not be present in RAM
“Translation of hierarchical address with lookup in page table” by Max Lütkemeyer and Jens Lechtenbörger under CC BY-SA 4.0; from GitLab
address
interpreted as hierarchical object
address
address
= byte number within its page
“Address translation with offset in covered address range” by Max Lütkemeyer and Jens Lechtenbörger under CC BY-SA 4.0; from GitLab
Task: Translate virtual address to physical address
Subtask: Translate bits for page number to bits for frame number
First, derive following pieces of information
Size of physical address space: 215 B = 32 KiB
Size of virtual address space: 220 B = 1024 KiB = 1 MiB
Task: Translate virtual address 42
42 = 0000000000 0000101010
Based on page table: Page 0 is located in frame 1
Thus, 42 is located in frame 1
Answer the following questions in Learnweb.
Suppose that 32-bit virtual addresses with 4 KiB pages are used.
Source files are available on GitLab (check out embedded submodules) under free licenses. Icons of custom controls are by @fontawesome, released under CC BY 4.0.
Except where otherwise noted, the work “Virtual Memory I”, © 2017-2024 Jens Lechtenbörger, is published under the Creative Commons license CC BY-SA 4.0.