To manage the contents of the processor’s memory and storage, memory management is used. To use applications and data, first, it should be brought to memory. Memory use also increases as workload on system increases. To optimize the use of processor’s memory, we hence use memory management. INTRODUCTION:
After reading the research papers on memory management I concluded that next to CPU physical memory is one of the most important resources in a computer system. Each piece of data is to be stored on a unique physical address therefore it becomes very important for the operating system to manage the memory so that data does not get messed up. I. CONTIGOUS MEMORY ALLOCATION
Contiguous memory allocation is a technique which is used to manage memory. The basic idea of which is to provide each process with its own single contiguous section of memory. The entire physical memory is divided into two parts, the operating system resides in one part which is the lower part of the memory.
II. THE CONCEPT OF DYNAMIC MEMORY ALLOCATION
The concept of dynamic memory allocation is basically to allocate memory to a computer program at runtime of that program. Dynamically allocated memory exists until it is released by the programmer. There are three algorithms for dynamic memory allocation namely first fit in which the first block of memory which is big enough is allocated to the program second is the best fit in which the smallest memory hole which is big enough is allocated to the program and last is the worst fit in which the largest hole is allocated to the program. The efficiency of these cases depends on the programs that need to be executed. It varies from program to program. III. MEMORY MANAGEMENT MODELS:
Furthermore two memory management models have been discussed in the research paper. First one is bare machine model in which the entire address space is given to the program and the program itself is responsible for managing the memory and second is resident monitor model in which the operating system is located in a specified memory location and the remaining memory is allocated to the programs.
IV. MULTIPLE PROGRAM MANAGEMENT
Moving forward the concept of multiple program memory management is being discussed. Memory is partitioned in order to execute multiple programs. There are fixed sized partitions and variable sized partitions. V. PAGING
Another concept of memory management that was repeatedly discussed in the research paper is that of paging. The use of paging allows the physical address space to be non-contiguous. Each page is mapped to a contiguous memory location called a page frame.
If the paging scheme is not used then the entire program is to be loaded into the storage contiguously. But with the use of paging only the desired part of the program gets loaded and hence memory is saved. VI. MEMORY MANAGEMENT UNIT
For better understanding of paging the memory management unit is to be understood. This is a unit which lies between the CPU and the physical memory unit. The MMU basically translates the memory address desired by the CPU to another address before sending it to the memory unit. The address generated by the CPU is called the logical address or the virtual address and that generated by the memory management unit is the physical address. The MMU allows memory to be mapped on page frame. VII. PAGE TABLES
The MMU maintains a page table which has a valid bit for each page in the logical address space. Page tables have a collection of page table entries which keeps the mapping information between virtual addresses and physical addresses. PTE are basically the page table entries
VIII. IMPLEMENTATION OF A PAGE SYSTEM
Physical memory is divided into frames. In order to implement paging scheme and the virtual memory or the logical address space is divided into various pages. Page size is kept equal to the frame size. Whenever a...