Address Translation:Base and Bounds Qs Flashcards
Chapter 15 of Operating System:Three Easy Pieces
What is the main reason for introducing address translation in modern operating systems?
What it supports and what three things allowed
Supports memory virtualization, allowing process isolation, efficient memory virtualization, the abstraction of a large, contiguous memory space for processes
What is the role of privileged instructions in address translation?
settings
used to configure and manage address translation settings
What is the main purpose of the bounds register in the base-and-bounds memory management model?
within range
it ensures a process can only access memory within its allocated range
What happens if a user program generates a memory reference beyond the bounds of the allocated address space?
answer and results
a trap or exception is triggered, typically resulting in the OS terminating the process
What is the primary role of hardware-based address translation in memory virtualization?
virtual squared + 3 things
Efficiently and securely map virtual addresses to physical addresses, enabling process isolation, abstraction of physical memory, and support for paging and segmentation
How does dynamic relocation differ from static relocation?
at/during
Dynamic relocation happens at runtime with base and bounds registers. Also, virtual addresses are translated to physical addresses on-the-fly by the MMU.
Static relocation happens at load time, where all addresses are fixed during runtime.
What is not a requirement for hardware-based translation?
‘transparency’
For processes to be aware of the physical memory layout. Address translation is done transparently by the OS and hardware.
Why are the base and bounds registers privileged and only modifiable in kernel mode?
define two things and consequences
They define the memory limits and relocation for a process. If they weren’t privileged, security and stability could be compromised.
What is the illusion created by virtual memory for each running process?
Each process has its own isolated, contiguous memory space. This allows processes to run independently without knowing the actual physical memory layout.
Which part of the CPU is responsible for performing address translation?
The MMU, converts the virtual addresses to physical addresses