Memory Management:
Memory Management is the process of controlling and coordinating computer’s main memory and assigning memory block (space) to various running programs to optimize overall computer performance. The Memory management involves the allocation of specific memory blocks to individual programs based on user demands. At the application level, memory management ensures the availability of adequate memory for each running program at all times.
The objective of Memory Management process is to improve both the utilization of the CPU and the speed of the computer’s response to its users via main memory. For these reasons the computers must keep several programs in main memory that associates with many different Memory Management schemes.
The Operating System is responsible for the following activities in connection with memory management:
1. Keeping track of which portion of memory are currently being used and who is using them.
2. Determining which processes (or parts of processes) and data to move in and out of memory.
3. Allocation and de – allocation of memory blocks as needed by the program in main memory. (Garbage Collection)