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
-
relocation---process does not get put at 0000 in
memory (necessarily)
-
protection---process may be able to write off the
end of its partition and damage other programs
-
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