On 11/06/10 02:03, "Chuck Guzis"<cclist at sydex.com> wrote:
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).
Yeah, you got more more or less right. Virtual memory according to me
(well, I got the definition from DEC) is the appearance of memory that
is your "own" although you in fact are running on a system with many
processes running concurrently. You can do anything with your memory,
and it will not affect anyone else. It's like your own sandbox. You can
do anything in there.
Obviously, this is not really tied into paging, nor multi-tasking (you
can have this with just one process, still protecting the OS from you).
Obviously, I do not tie memory sizes on either end to what virtual
memory is. You know, things like overlays are actually a form of paging
as well, and is a solution to allow you to have more memory used than
physically exist in the computer, and yet it don't require virtual
memory to implement this. (Heck, I just came up with an example of
paging and memory sizes that is totally disconnected to virtual memory,
or page tables, or anything close to that.)
Johnny