Subject: Re: NetBSD without MMU ?
To: <>
From: Ignatios Souvatzis <>
List: tech-embed
Date: 04/13/2002 10:03:59
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 11, 2002 at 04:29:32PM -0700, Mike O'Brien wrote:
> 	The first version of UNIX ran on a PDP-11/20, which did
> not have an MMU.  It was multi-user.  All the terminals were in
> the same room.  Whenever anyone wanted to test a newly-compiled
> program, they'd inquire of the others in the room, "a.out?"  At
> which point everyone else would write out their edit sessions
> and quit the editor, then say, "OK!"

OS-9 (OS-9, NOT MacOS 9) has done Multi-user/Multi-tasking right from=20
the start in a single 64 kByte address space on the MC6809 CPU).

But then, the compiler made sure that all data accesses were relative
to the U register (or the DP register for the first 256 bytes of
the area). OS9 F$FORK is no Unix fork(), but it starts a new
(possibly same) program module with a seperate data space. No data
sharing. (But the calling process can pass a parameter area.)

Code sections are sharable (and generated with only relative accesses=20
by the compilers).

Similar trick, I think, for OS9/68000, but that book is not in the shelf
I can reach while sitting at the keyboard.

OS9/6809 Level Two supported a limited hardware MMU - basically a fast stat=
RAM translating the upper few (e.g., three) address bits. Real memory
protection is still very limited.


Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.0.6 (NetBSD)
Comment: For info see