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:
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.
- Maximum process size <= Maximum partition size.
- The degree of multiprogramming is directly proportional to the number of partitions.
- Internal fragmentation which is discussed above is present.
- If a process of 19kb wants to allocate and we have free space which is not continuous we are not able to allocate the space.
Variable partition schema :
- In variable partition schema initially, the memory will be full contiguous free block
- memory divided into partitions according to the process size where process size will vary.
- one partition is allocated to each active partition.
- portion size = process size
- there is no internal fragmentation (which is the drawback of fixed partition schema).
- degree of multiprogramming varies and is directly proportional to a number of processes.
- external fragmentation is still there.
Solution of external fragmentation:
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.
- Page fault can occur.
- It consumes CPU time (overhead).
2. Non-contiguous memory allocation:
- 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.
- 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.
Level Up Your GATE Prep!
Embark on a transformative journey towards GATE success by choosing Data Science & AI
as your second paper choice with our specialized course. If you find yourself lost in the vast landscape of the GATE syllabus, our program is the compass you need.