2
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?
Can you explain how they are actually describing the same thing? – Celeritas – 2016-01-06T07:36:15.280
One can arbitrarily break "storage" into two types: "memory" and "everything else". That "everything else" is usually slower and longer term. Otherwise, they're the same thing, a way to store data. When people like you and me talk about virtual memory, we're usually talking about the storage media. When computer science people talk about it, they're talking about the whole thing, including the bits that arrange for it to even be possible. The Wikipedia article treats it like a computer science topic (as it should). The other articles treat it like the common folk do. – Ouroborus – 2016-01-06T07:49:00.320