[Info-vax] Userland programming languages on VMS.

Johnny Billquist bqt at softjar.se
Tue Feb 1 09:21:24 EST 2022


On 2022-02-01 02:31, Bill Gunshannon wrote:
> On 1/31/22 19:53, Johnny Billquist wrote:
>> Actually, making use of hardware specific features can be a big issue. 
>> With RSX, plenty use is made of the MMU and you have basically no 
>> chance of "porting" RSX to anything that don't have a very similar MMU.
>> Instead you will then need to do a reimplementation where some things 
>> needs to be done rather differently.
> 
> But if you moved to a system with a large address space would
> an MMU even be necessary?  BSD on the PDP_11 uses overlays,
> the VAX does not.

An MMU is not strictly necessary, but when you don't have one, you are 
in a pretty ugly place. You miss the whole concept of virtual memory. 
And a lot of things become very different, very complicated, and very 
convoluted.

I bet you haven't actually looked at RSX run without an MMU. It's called 
an unmapped system. And every program needs to be linked to the actual 
physical addresses it will use, you can only run one program at a time, 
if they make use of the same address space, you cannot have shared, 
position independent libraries, memory protection does not exist, and 
god knows what kind of mess you end up with.
(Even knowing what address to link to is a bit of an effort, and the 
whole handling of the memory layout becomes a tedious manual process.)

You really want to have an MMU. And RSX have some very specific design 
choices made that tie intimately into how the PDP-11 works, and how the 
MMU works.

A prime example: system calls in RSX is done with an EMT instruction. 
The argument is on the stack. The argument can either be an address or a 
function. All functions have odd values, since addresses basically have 
to be even values on a PDP-11 (odd addresses can only address bytes), 
while the arguments are supposed to be a bunch of words.

Now, that concept don't translate/work on a CPU that don't have this 
idea that addresses have to be even.

   Johnny



More information about the Info-vax mailing list