Previous | Next
|
Contiguous Memory Allocation
|
|
The main memory must accommodate both the operating system and the various user
processes. We therefore need to allocate different parts of the main memory in the
most efficient way possible.
The memory is usually divided into two partitions: one for the resident operating
system, and one for the user processes. We may place the operating system in either
low memeory or high memory. With this approach each process is contained in a single
contiguous section of memory.
One of the simplest methods for memory allocation is to divide memory into several
fixed-sized partitions. Each partition may contain exactly one process. In this
multiple-partition method, when a partition is free, a process is selected from
the input queue and is loaded into the free partition. When the process terminates,
the partition becomes available for another process. The operating system keeps
a table indicating which parts of memory are available and which are occupied. Finally,
when a process arrives and needs memory, a memory section large enough for this
process is provided.
Note: Depending on the method used, this approach
can suffer from external as well as internal memory fragmentation.
|
|