===>because the way system pointers are constructed,
OBJECTS have the limit. But objects can contain
addresses that point to non-object 'areas' of any
size.
Hi Leif,
Please explain further. A
usrspc object has a 16meg size limit and can contain ptrs to other usrspc
objects. What in the architecture limits the size of the usrspc to
16meg?
====> a system pointer to a usrspc (actually to any)
object is constructed like this (each character=4-bits):
KAAAA000 00000000 SSSSSSSS SS00TTAA
Roughly K is the type of the pointer, the As are
authority bits, the 0s are zeroes, the Ss are a 'segment'
address, and the Ts are the object type. The object
starts at address SSSSSSSSSS000000. Note, that
the low-order 24 bits are zero. When you create a
spacepointer from the system pointer, these low-order
24 bits contains an offset within the space, hence the
26Mb limitation.
You can link several "24-bit" objects togehter, but you
won't get a continous address space, unless you
can create objects where the segments are consecutive.
This should in theory be possible, but I don't know
how and the arcitechture does not have a documented way
of doing this.