[TUHS] history of virtual address space
John R Levine via TUHS
tuhs at tuhs.org
Wed Jan 21 04:24:35 AEST 2026
> On Mon, Jan 19, 2026 at 9:22 PM John Levine via TUHS <tuhs at tuhs.org> wrote:
>
>>
>>> Later we got the "kernel is high virtual with bit 31 set" -- when did that
>>> first happen?
>>
>> That's how VAX addressing worked. User programs were in the low half
>> of the address space, the kernel in the high half.
>>
>
> It has nothing to do with how the VAX implements virtual addressing per
> se. ...
The 1981 VAX Architecture Handbook that I have in my hand disagrees with
you. The Memory Management chapter says that the top half of the address
space is the System (S) while the bottom half is Process. Process is
further divided into P0 which grows up from 0 and P1 which grows down from
the middle. There is one S page table which is in real memory. The P0
and P1 page tables are in S address space, giving the effect of two-level
page tables. Each page table is logically contiguous, with a base and
length register for each.
The a.out program layout is the only one that makes sense on a Vax, code
starts at zero, stack grows down from 2GB.
R's,
John
More information about the TUHS
mailing list