Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!nuchat!sugar!peter From: peter@sugar.UUCP (Peter da Silva) Newsgroups: comp.arch,comp.unix.wizards,comp.os.misc Subject: Re: "fork" with no MMU (was Re: Shared libraries (Was: ...) Message-ID: <895@sugar.UUCP> Date: Thu, 22-Oct-87 13:41:27 EST Article-I.D.: sugar.895 Posted: Thu Oct 22 13:41:27 1987 Date-Received: Sun, 25-Oct-87 08:39:42 EST References: <8714@utzoo.UUCP> <286@usl> <73@usl-pc.UUCP> <881@sugar.UUCP> <31162@sun.uucp> Organization: Sugar Land UNIX - Houston, TX Lines: 22 Xref: mnetor comp.arch:2695 comp.unix.wizards:5053 comp.os.misc:312 In article <31162@sun.uucp>, guy%gorodish@Sun.COM (Guy Harris) writes: > > So tell me... how did they implement fork() without an MMU? Did they do > > addres fixups on running code, or did they require all code be relocatable > > (not an unreasonable request on the PDP-11, by the way, and one place where > > the 11 has the 68000 beat hollow). > > Neither. They only kept one process in memory at a time, using swapping to do > context switches. That still doesn't disprove my claim that UNIX won't run on a system with 512K, two floppies, and no MMU. I don't consider swapping to floppies as an acceptable method of context switching. Maybe totally hacked 8" drives would do, but I'd want at least a hard disk. (Yeh, I know MINIX does in-memory copies for the same purpose. That'd be barely acceptable. It's not going to hum along as well as OS/9 or AmigaDOS, though. And UNIX executables tend to be quite a bit larger than Minix' 10K. Moving 10K of data for a context switch is bad enough. Imagine doing that with csh(1).) -- -- Peter da Silva `-_-' ...!hoptoad!academ!uhnix1!sugar!peter -- Disclaimer: These U aren't mere opinions... these are *values*.