Article View: net.micro.atari
Article #1910Re: Unix without an MMU
From: Mitch Bradley
Date: Mon, 06 Jan 1986 17:55
Date: Mon, 06 Jan 1986 17:55
33 lines
2280 bytes
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!wmbReferences:
<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