Contiguous memory management techniques

Overview

Main memory (RAM) is the primary memory, which a CPU can access directly. Therefore, any instruction in execution and data that is used by instruction must be in one of the direct storage access devices (RAM).

The run-time mapping to physical address from virtual address is done by a hardware device called the memory management unit (MMU).

Memory management can be broadly classified into two types:

  1. Contiguous memory management
  2. Non-contiguous memory management
  • Internal fragmentation can be described as when there is a left-over space that cannot be utilized further.
  • External fragmentation takes place when there is enough space to satisfy the request of a process but it is not contiguous, so it cannot be utilized further.

Contiguous memory management

The word contiguous here refers to the shared allocation of a memory resource. The two important types of contiguous memory management are:

  1. Fixed partitioning
  2. Dynamic partitioning

Fixed partitioning

  • Fixed size partitioning is also called static partitioning.
  • In fixed partitioning, the number of partitions is fixed.
  • In fixed partitioning, the size of each partition may or may not be the same.
  • In fixed partitioning, spanning is not allowed, which means that the entire process has to be allocated into a partition block. This also means that only a portion of the process cannot be allocated.

Limitations

  1. Internal fragmentation
  2. Limits the process size
  3. Limits the degree of multi-programming
  4. External fragmentation

Dynamic partitioning

  • Dynamic partitioning is a variable size partitioning.
  • In dynamic partitioning, the memory is allocated at run-time based on the requirement of processes.
  • We usually consider the available block of memory as hole.
  • There is no internal fragmentation in dynamic partitioning.
  • In dynamic partitioning, there is no limitation on the number of processes.
  • The only limitation of dynamic partitioning is that it suffers from external Fragmentation.