Virtual Addressing Flashcards
1
Q
Concepts - why memory management
A
- Multiprogramming system = multiplex and allocate and protect memory
- Multiplexing CPU requires multiplexing memory
- Need to keep many processes in memory simultaneously
- Each process requires memory for : instructions, static data, dynamic data ie stack and heap
And - OS needs memory to store its own instructions and data
2
Q
Relocation in general
A
- MM Shared between processes .: programmer cannot know address occupied by process at runtime
- Swapping processes in/out of MM to maximise CPU utilisation (how/why????) and silly to require swapped in process to always go to same place in memory
- Processes may include addressing info (branches, pointers etc) and OS must sanity check - translation of logical addresses to physical addresses.
3
Q
Memory allocation in general
A
OS chooses addresses to load programs data to make linking , relocation, sharing easier
4
Q
Protection
A
- OS / MMU protect one process’s memory from another
- May want RWX protection on small memory units
- A process should not modify its own code (why?????)
- Dynamically computed addresses (eg array subscripts) should be sanity checked.