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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Memory allocation in general

A

OS chooses addresses to load programs data to make linking , relocation, sharing easier

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly