chapter 13 - The Abstraction: Address Spaces Flashcards
what was the memory layout in the early systems
OS at bottom -
what is multiprogramming
Keeping multiple processes in memory at once to maximize hardware usage
what is time sharing
switching quickly between process for interactivity
what is address space
each program sees a private view of memory - starting at 0
main parts of address space
code, stack, heap
which direction does stack and heap grow - why
- stack - downwards
- heap - upwards
grows towards each other to allow flexibility
memory virtualization
Translating virtual addresses (used by programs) into physical addresses (actual memory locations)
transparancy in virtual memory
programs act as if they have full private memory, unaware of virtualization
how is transparency achieved
The OS and hardware automatically handle virtual-to-physical address translation behind the scenes
What is the role of protection in memory virtualization?
To isolate address spaces so processes cannot access each other’s memory
How are processes isolated from one another?
Each process is sandboxed in its own private address space
Why is efficiency important in memory virtualization?
Translation must be fast and lightweight to avoid slowing down programs