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 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 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 static RAM translating the upper few (e.g., three) address bits. Real memory protection is still very limited. Regards, -is
Attachment:
pgpEjtAj2ov66.pgp
Description: PGP signature