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
We have already discussed the implementation of contiguous in the article Implementation of Contiguous Memory Management Techniques. Here we will discuss the implementation of non-contiguous memory management techniques.
Non-contiguous Memory Management Techniques:
In this technique, memory is allotted in a non-continuous way to the processes. It has five types:
Paging is a non-contiguous memory management technique that permits the physical address space of a process to be non–contiguous. Whenever the process is created paging will be applied on the process and page table will be created. Paging is related with respect to every process and every process will have its own page table.
There is no external fragmentation in the paging. The internal fragmentation exists in the last page and internal fragmentation in paging is considered as P/2 where P is the page size.
Multilevel Paging is a non-contiguous memory management technique which contains two or more levels of page tables in a hierarchical manner.
In the multilevel paging when the paging is applied on the page tables, the last page is called the first level page table. In multilevel paging, when the paging is applied on the page tables then all the page table will be stored in main memory.
To avoid the overhead of maintaining page table process, the concept of Inverted Paging is implemented. In the inverted paging only one page table will be maintained for all the processes. The memory required to maintain the page tables of the processes will be less but searching time for corresponding page of a process will be more.
Segmentation is a non-contiguous memory management technique in which the memory is divided into segments. Each process is allotted a segment. There are two types of segmentation:
(i) Simple (ii) Virtual
To avoid the overhead of bringing large size segment into memory the concept of segmented paging is implemented. IN the segmented paging, paging will be applied on the segment and instead of bringing the entire segment into memory, the pages of segment will be brought into memory. The number of entries in the page table of segment is same as the number of pages on the segment.
Page size of segment is same as frame size of physical address space.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Implementation of Contiguous Memory Management Techniques
- Difference between Contiguous and Noncontiguous Memory Allocation
- Implementing Directory Management using Shell Script
- Algorithm for implementing Distributed Shared Memory
- Overlays in Memory Management
- Requirements of Memory Management System
- Program for Next Fit algorithm in Memory Management
- Operating Systems | Memory Management | Question 1
- Partition Allocation Methods in Memory Management
- First Fit algorithm in Memory Management using Linked List
- Implementation of all Partition Allocation Methods in Memory Management
- Program for Best Fit algorithm in Memory Management using Linked List
- Difference between Virtual memory and Cache memory
- Random Access Memory (RAM) and Read Only Memory (ROM)
- Introduction to memory and memory units
- Difference between Byte Addressable Memory and Word Addressable Memory
- I/O buffering and its Various Techniques
- Techniques to handle Thrashing
- Concurrency Control Techniques
- Loop Optimization Techniques | Set 2