Virtual memory is a concept of loading only the program from secondary memory to main memory which are needed then and rest of the programs stay in secondary memory, loaded into main memory when needed.