Memory Management Flashcards
What is the primary function of memory management in Layer 3?
It ensures that processes and data are in primary memory (PM) for operation, manages competition for finite memory resources, and protects co-resident processes from one another
Define Virtual Address
A virtual address is relative to the start of a process’s address space and not the actual physical memory location
What is the difference between compile-time, load-time, and execution-time binding?
- Compile-time, memory addresses are fixed at compile time
- Load-time, addresses are determined when the program loads into memory
- Execution-time, addresses can change dynamically during execution
What are the three main goals when multiple programs share memory?
Transparency, safety, and efficiency
What is the difference between static and dynamic relocation?
- Static Relocation, memory mapping is done before or during process loading and cannot be moved afterward
- Dynamic Relocation, memory mapping is done at runtime, allowing processes to move freely in memory
What is external fragmentation?
It occurs when total memory is sufficient to satisfy a request, but it’s not contiguous
What are the advantages of paging?
- Simplifies memory allocation
- Eliminates external fragmentation
- Allows processes to use memory efficiently through logical segmentation
How does segmentation differ from paging?
- Segmentation divides memory into variable-sized logical segments
- Paging divides memory into fixed-sized blocks and removes the need for contiguous memory allocation