From: Mouse
Well, what was the largest virtual memory space
available on various
machines?
I have thought, on occasion, about simulating a segmented machine on a
non-segmented machine, i.e. one with large unidirectional addresses (segmented
being a bi-directionally addressed machine) - in fact, I think it was in the
context of the VAX that I went through this mentally.
I don't recall any more the exact outcome of my mental design processes (it
was a _long_ time ago), but I have this vague recollection that it could sort
of work, but that it would be ugly (as in, the compiler would have to simulate
cross-segment pointers, etc - they don't look just like normal pointers as
there has to be provision for binding them when first used, etc).
Now that 64-bit address space is becoming common
Large unidirectional machines do have one advantage, which is that the
canonical flaw of single-level-storage on a segmented machine is that really
large objects don't fit in a single segment, unless you have ridiculously
large addresses (e.g. 80 bit). When simulating segments on a unidirectional
machine, one can of course make any individual segment as large as one likes
- up to the total size of the unidirctional machine's address space.
Noel