🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.atari
Article #1910

Re: Unix without an MMU

#1910
From: Mitch Bradley
Date: Mon, 06 Jan 1986 17:55
33 lines
2280 bytes
> If you have multiple processes running in a non-memory managed
> system, you are restricted to one of the following:
>  . each process absolute-assembled into a different partition of
>    memory (ala DEC RSX-11)
>  . only one process in memory at a time -- each process swapped
>    out when it blocks or its quantum expires
>  . all software assembled to perform all memory references
>    indexed by a base register, which is loaded by the operating
>    system and which the program must not change (ala old IBM OS)
>    ...Mark Crispin

I know of one other alternative:
The binary file can contain a relocation list which identifies locations
that need to have a base address added when the program is loaded into
memory.  When the program is loaded into memory, the load function ("exec"
in Unix terminology) relocates these addresses before the program is started.

This is exactly what TOS does.  The relocation list is stored as a stream
of byte offsets to the next longword that has to be fixed up.  There is
a reserved byte value that skips without relocating, so it is possible to
relocate any program with less than 25% file storage space overhead.
The maximum overhead would only occur if every single longword had to be
relocated.  A typical C program requires much less overhead, below 5%.

It does take some time to do this, but not very much; the time is not 
noticeable compared to the disk access time necessary for loading the
program.

It seems to work pretty well in TOS.  Of course, one program can disable
another by writing to memory that it doesn't own, but that is a separate
issue.

Mitch
Technical Details
Message-ID: <3120@sun.uucp>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!whuxl!whuxlm!akgua!gatech!ut-sally!pyramid!decwrl!sun!wmb
References: <12173015456.10.MRC@PANDA>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84 SMI; site sun.uucp
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!whuxl!whuxlm!akgua!gatech!ut-sally!pyramid!decwrl!sun!wmb
From: wmb@sun.uucp (Mitch Bradley)
Newsgroups: net.micro.atari
Subject: Re: Unix without an MMU
Message-ID: <3120@sun.uucp>
Date: Mon, 6-Jan-86 12:55:26 EST
Article-I.D.: sun.3120
Posted: Mon Jan  6 12:55:26 1986
Date-Received: Wed, 8-Jan-86 06:12:56 EST
References: <12173015456.10.MRC@PANDA>
Reply-To: wmb@sun.UUCP (Mitch Bradley)
Organization: Sun Microsystems, Inc.
Lines: 33