Implementation of Contiguous Memory Management Techniques (original) (raw)

Last Updated : 23 May, 2025

Memory Management Techniques are basic techniques that are used in managing the memory in the operating system. They are classified broadly into two categories:

Contiguous memory allocation is a memory allocation strategy. As the name implies, we utilize this technique to assign contiguous blocks of memory to each task. Thus, whenever a process asks to access the main memory, we allocate a continuous segment from the empty region to the process based on its size. In this technique, memory is allotted in a continuous way to the processes. Contiguous Memory Management has two types:

Lets understand these in detail.

Memory-Management-Techniuqes

Types o Memory Management Techniques

**Fixed Partition Scheme

In the fixed partition scheme, memory is divided into fixed number of partitions. Fixed means number of partitions are fixed in the memory. In the fixed partition, in every partition only one process will be accommodated. Degree of multi-programming is restricted by number of partitions in the memory. Maximum size of the process is restricted by maximum size of the partition. Every partition is associated with the limit registers.

**Disadvantages Fix partition scheme

**Variable Partition Scheme

In the variable partition scheme, initially memory will be single continuous free block. Whenever the request by the process arrives, accordingly partition will be made in the memory. If the smaller processes keep on coming then the larger partitions will be made into smaller partitions.

**Advantages of Variable Partition Scheme

**Disadvantage Variable Partition Scheme

2

External Fragmentation in Variable Partition Scheme

**Solution of External Fragmentation

To overcome the problem of external fragmentation, following techniques are used :

**1. Compaction

Moving all the processes toward the top or towards the bottom to make free available memory in a single continuous place is called compaction. Compaction is undesirable to implement because it interrupts all the running processes in the memory. It also consumes CPU time (overhead).

**2. Non-contiguous memory allocation

  1. **Physical address space: Main memory (physical memory) is divided into blocks of the same size called frames. frame size is defined by the operating system by comparing it with the size of the process.
  2. **Logical Address space: Logical memory is divided into blocks of the same size called process pages. page size is defined by hardware system and these pages are stored in the main memory during the process in non-contiguous frames.