It seems that there are two definitions of virtual memory, and I'm wondering do they both describe the same thing or is it that two similar but distinct concepts are called the same thing?
Definition 1: a means of extending RAM by using secondary storage
"Virtual memory is a feature of an operating system (OS) that allows a computer to compensate for shortages of physical memory" -techtarget
"Virtual memory is simulated RAM. When you have used up all your RAM, your computer will shift data to an empty space on the hard drive." -delete-computer-history
"Virtual memory is a technique that allows the execution of processes which are not completely available in memory" -tutorialspoint
Definition 2: system by which memory is addressed
"virtual memory is a memory management technique ...It maps memory addresses used by a program, called virtual addresses, into physical addresses in computer memory." -wikipedia
and virtual memory is what's responsible for giving a program it's own address space, so it can assume it's beginning is at address 0x00
Question: am I confused? How are these definitions compatible?