What is Memory Management?
One of the main functions of Operating systems is Memory Management. Memory Management may be defined as the process of managing the optimal use of main memory that is RAM (Random Access Memory). RAM is much faster than hard disk. So RAM is used to store data and instructions temporarily while they are being executed by CPU ( Central Processing Unit or PROCESSOR ). CPU can get data and instructions from RAM much faster that from hard disk.
As we know CPU is a very very fast device. It may execute billions of instructions per second. CPU will have to wait for data and instruction from hard disk because getting data from hard disk is very slow. That is why RAM is used. So data and instructions needed for execution are brought into main memory that is RAM first. Now RAM provides data and instructions to CPU rapidly.
What is Memory Management and virtual memory management
Operating System allocates the required memory are in main memory to programs that are a candidate for execution. The allocated memory area will be de-allocated when the program will finish execution.
What is Virtual Memory?
Some times, main memory that is RAM is not enough to run larger programs. In this case, some operating systems apply the technique of VIRTUAL MEMORY to overcome the problem of small RAM.
The operating system uses a particular area of hard disk as additional RAM (virtually). The most wanted part of the program in execution may be kept in RAM while the remaining part of that program may on the particular part of the hard disk. This is called Virtual Memory. The area of hard disk used for virtual memory is called a SWAP file. The Swap file is used to exchange data and instructions of a running program between RAM and Hard disk.