Contiguous Memory Allocation: Understanding the Correct Statement
Contiguous vs Non-Contiguous Memory Allocation (Paging) | OS Concepts
In contiguous memory allocation, each process (or the portion of it being loaded under that scheme) must reside in one continuous block of physical memory. This is the core distinguishing idea: the operating system allocates memory in contiguous ranges, and a process cannot be split across multiple separated regions.
Therefore, among the options given in the prompt, the correct choice is:
- (i) each process is contained in a single contiguous section of memory
This corresponds to what OS textbooks describe as contiguous allocation (contrasted with paging, where a process can be scattered across frames).
Key mental model
For contiguous allocation, imagine each process as a file that must be stored in one continuous folder area—no splitting across distant folders.
Let’s restate the options:
- (i) each process is contained in a single contiguous section of memory ✅
- (ii) all processes are contained in a single contiguous section of memory ❌
- This would only describe the extreme case where one big contiguous region is reserved for all processes together (not how OS allocation is typically modeled).
- (iii) the memory space is contiguous ❌
- Memory being contiguous in general (address space layout) does not define the allocation strategy. The strategy is about whether each process’s allocation is contiguous.
- (iv) None of the above ❌
- Because (i) matches the definition.
Process-contiguity is the defining property, not whole-system contiguity.
contiguous memory allocation
How to identify the correct option for contiguous memory allocation
- 1Step 1
Contiguous allocation requires a process to be stored in one continuous region.
- 2Step 2
Option (i) explicitly states one contiguous section per process.
- 3Step 3
Option (ii) incorrectly scopes to all processes sharing one block; (iii) focuses on memory being contiguous rather than how processes are allocated.
- 4Step 4
The only option that directly captures “one contiguous region per process” is (i).
Below is a concise comparison that often appears in Operating Systems courses between contiguous allocation and paging-style non-contiguous allocation.
| Concept | Contiguous allocation | Paging (non-contiguous) |
|---|---|---|
| Where a process can live | One contiguous memory segment | Multiple frames anywhere in memory |
| Allocation unit | Whole process segment as a block | Pages/frames |
| Fragmentation behavior | Can lead to external fragmentation | Reduces external fragmentation (uses internal fragmentation) |
| Defining sentence | “Each process is in one contiguous section” | “Process need not be contiguous” |
Key terms:
- external fragmentation
- internal fragmentation
- paging
Common misconceptions
Where contiguous allocation fits in OS memory management
Allocate one contiguous block
Load/assign timeOS reserves a single continuous range for the process (or its loaded segment)."
Process uses only its assigned range
While runningAll addresses for the process correspond to that one continuous region."
Holes appear
When a process endsFree spaces become gaps, increasing external fragmentation."
Knowledge Check
In contiguous memory allocation, which statement is correct?