Subject: RE: PDP-11 thoughts
To: Johnny Billquist <bqt@Update.UU.SE>
From: P.G. <pgaray@bigfoot.com>
List: port-vax
Date: 11/15/2000 19:53:17
On Wed, 15 Nov 2000, Johnny Billquist wrote:
> On Wed, 15 Nov 2000, P.G. wrote:

> > You had 3 64Kbyte (32K word) address spaces: Instruction, data and supervisor,
> > The supervisor space was used to hold libraries. There were extensive overlays
> > in the programs, the largest I saw IIRC was over 900 blocks (512 byte).
> > RSX-11M+ was capable of handling the 3 address spaces.
> 
> The Kernel/Supervisor/User mode is a different issue and has nothing to do
> with this. You can only be in one more at a time, and you only have 64 k
> address range. The different modes only affect which set of registers used
> by the MMU to map your virtual address to a physical address, nothing
> else. And some machines only have kernel/user (no supervisor).
> Incidentally, this coinside with which machines have split I/D space.
> 

Yes, you need to have supervisor mode to use the the supervisor address space.
The supervisor space could be used to hold the code of libraries. This
provided an additional 32Kword address space.  I do not know the glorous
details on how it was done - the application programmer could just link (build
task) against the "supervisor mode libraries" - and the instruction space did
not have to hold the libraries. I do not know if any Unix variant ever had any
similar feature, RSX-11M+ did have this option. Maybe what happened was that
the supervisor mode pages were set to a different code but identical data. I
think I tried to be a bit too brief  above. What I meant is that this was the
way to "sneak in" an additional 32Kword of code in a separate address space.
This probably was not an option for kernel developers (I think you can not call
to supervisor mode from kernel mode), but I am not sure about that.