Memory Management Basic Concepts
Definition of Memory Management Basic Concepts – Memory management deals with the processes and methodologies for the effective use, allocation, monitoring & management of computer memory. It provide ways to dynamically allocate parts of memory to processes at their and free it for reuse when no longer needed. Various methods are devised to increase the effectiveness of memory management. The related terms which help in memory management process are given below.
What are the different types of Memory Management?
- Segmentation – The division of computer primary memory into segments or sections are called as Segmentation. The segments is the divisions of a program such as individual routines or data tables. Each segment has a length and set of permissions linked with it. The segment is also used to implement virtual memory concepts. The segmentation should be implemented on several different ways depending on hardware. There are primary two methods for segmentation. A. Segmentation without paging B. Segmentation with paging. In without paging method – segments are swapped back and forth between main memory and secondary storage. In with paging method – in spite of actual memory location the segment information includes the address of the page table for the segment.
- Paging- It is the memory management scheme in which a computer stores and retrieves information from secondary storage to main memory in the form of small size memory blocks called pages. In virtual memory implementation, the concepts of paging play an important role. When a program tries to refer a page which is not currently present in RAM, the processor treats this as invalid memory reference as a Page Fault and transfer control from the program to the OS.
Fragmentation – It is the condition when file stored in disk are scattered into pieces around the disk. In this case the storage space are used inefficiently, reducing the capacity and performance of memory units. It occurs while you use a disk frequently, create, delete and modify files. The fragmentation process is entirely invisible to users, and it slow down the speed of data accessing because the disk drive have to search through the disk to put together a single file.
- Memory Allocation – The Memory allocation is the process by which computer programs and services are assigned with physical or virtual memory space. Memory allocation is achieved through a process known as memory management. Memory allocation can be done through two ways –Static memory allocation and Dynamic memory allocation.
- Swapping – In swapping the processes which are on waiting state, suspend or temporary suspend state will be stored from out side the memory locations so the speed of process will be higher as compared to previous one.
- Static Vs Dynamic Loading
- Static Vs Dynamic Linking
- Process Address Space
This is all about Memory Management Basic Concepts, in next article we will talk in brief about all related terms and concepts.