how does virtual memory different from main memory and secondary memory​