Memory partitions

In a multitasking machine, suddenly mm becomes more challenging. Programs no longer get to choose where they go (since might conflict with other programs). OSs more complex---often must dance between allocations for user software.

The simplest scheme is to partition memory into several chunks, and whenever a program is to run, find a chunk for it. The process runs in its partition as if it were a program running in its own virtual machine.

There are some important issues

  1. relocation---process does not get put at 0000 in memory (necessarily)
  2. protection---process may be able to write off the end of its partition and damage other programs
  3. running out of physical memory
(Difficult to resize processes. If a process asks for more space (because it has tried to allocate more memory but its heap is full), may need to relocate the process in memory, or relocate one of its neighbours to make room.)
last updated 18 May 1998