A virtual address in memory is a pointer or marker for a memory space that an operating system allows a process to use. The virtual address points to a location in primary storage that a process can use independently of other processes.
In devices with memory management, a virtual address is different from a physical memory address. In such devices, the memory management unit (MMU) is responsible for memory management including the translation of virtual addresses into physical addresses.
With virtual addresses, the memory management system is able to allocate huge amounts of memory to individual processes. The system lets every process assume it has all available memory to itself, when, in fact, the operating system is juggling memory between processes as needed.
Virtual address is also used in the context of virtual systems. As with virtual memory addresses, newer systems replace physical memory drive destinations with virtual memory systems, where hardware is partitioned into different and more sophisticated types of storage.