Implementation of Contiguous Memory Management Techniques
Memory Management Techniques are basic techniques that are used in managing the memory in operating system. Memory Management Techniques are basically classified into two categories:
(i) Contiguous (ii) Non-contiguous
Contiguous Memory Management Techniques:
In this technique, memory is allotted in a continuous way to the processes. It has two types:
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.
- Limit Registers: It has two limit:
- Lower Limit: Starting address of the partition.
- Upper Limit: Ending address of the partition.
Internal Fragmentation is found in fixed partition scheme.
To overcome the problem of internal fragmentation, instead of fixed partition scheme, variable partition scheme is used.
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.
External Fragmentation is found in variable partition scheme.
To overcome the problem of external fragmentation, compaction technique is used or non-contiguous memory management techniques are used.
Moving all the processes toward the top or towards the bottom to make free available memory in a single continuous place is called as compaction. Compaction is undesirable to implement because it interrupts all the running processes in the memory.