On 31 Oct 2010 at 11:37, Johnny Billquist wrote:
The important question here - are the programs aware
of the RA
register, and can they change it? And can they address the full range
of memory addresses as perceived by the program.
No they aren't. Their memory exists from 0 to whatever the field
length is, physically and continously. If they need more, a system
request can expand their field length provided the system has
sufficient physical memory to accommodate them. There is no way
(absent perhaps a system request to get that information) for a
program to know its real physical base address.
Another word for swapping in and out?
But much older and specific to the architecture and not done in
pieces as a tranditional VM swap file would be.
I'll take the coward's way out and use the dictionary here:
"1. Existing or resulting in essence or effect though not in actual
fact, form, or name"
So my definiton of "fooling the user into thinking he has more
physical memory than he actually has" is certainly valid.
And the VAX sense is also true, but only if one takes along with it
the ability to over-commit memory space such that the amount of
addressable memory (i.e. the sum of all users' memory) is greater
than the physical memory present.
A single task running on a VAX with at least as much physical memory
as addressing space would not be using the virtual memory facility--
every bit is reflected in the presence of real memory.
But then, we fall on marshy ground again, when we consider the old
"roll/swap" multiuser situation. I can run 8 jobs, each requiring
65K of memory on a system with 128K physical memory, simply by
selecting when I give each a time slice and swapping/rolling them out
as needed. So is that virtual?
--Chuck