On 5 Nov 2010 at 15:09, Brent Hilpert wrote:
By the nomenclature I grew up with or suffer under,
the term "virtual
memory" only applies in scenario 4, although "virtual addresses" could
be said to have been introduced in scenario 2.
My original definition was that "virtual memory" was the ability of a
system (hardware, software, whatever) to fool a program into thinking
that there was more memory present than was physically the case.
Johnny (and please forgive me if I got this wrong) tied it into the
ability to present each user with a address space, such that two
users could use the same address space, but have different data. Key
was the claim that a system with more physical memory than the user
could directly address still qualified as virtual memory.
I don't tie virtual memory into paging or even to multi-tasking or
multi-user, although I'll concede that paging is a way (albeit
rather simple-minded) to implement it. The Burroughs B5000 didn't
employ paging and yet I think few would argue that it did not
implement virtual memory (and quite possibly the earliest commercial
use of it).
--Chuck