- There are numerous advantages of the virtual memory concept. Firstly, it marks the separation of physical and logical memory. Making virtual memory available, programmers can get a very large logical memory at their disposal even when there is a very small physical memory. This situation arises because main memory is very expensive as compared to secondary memory. There is a larger address space available irrespective of the actual size of the physical main memory available.
- A process can run even on a system which has less main memory than the amount required by the process. Without a virtual memory, running the process on such a machine would be a costly affair. Where there is virtual memory, the turnaround time of processes is reduced. This is because the process can start even when there is not enough memory to load the entire process.
- The virtual memory concept also frees the programmer. The programmer no longer needs to worry about the size constraints of the physical memory on every computer his or her program is going to be used. He or she can better concentrate on the logic of the program. Programs do not always execute all parts or every statement of their code during a typical run. A large part of the code may be skipped on some condition check and may never be executed.
- There are exception-handling procedures in the program that are only used in case an error occurs. With virtual memory mechanism, since the parts of a program are loaded on demand, the parts that are not needed may not get loaded. This leads to lesser input and output activity, resulting in faster execution, better throughput, turn around and response times.
- As virtual memory enables execution of a process to be started even when sufficient free memory for loading the process is not available, virtual memory can be effectively used simultaneously to accommodate program segments of a large number of users in the main memory. This increases the degree of multiprogramming, resulting in increased CPU utilization and system throughput.
- If virtual memory is not used, processes will need to wait for long durations if there is not sufficient main memory.








