Path: utzoo!attcan!uunet!tut.cis.ohio-state.edu!cs.utexas.edu!usc!rutgers!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.arch Subject: Re: IBM PC prehistory Message-ID: <9308@cbmvax.commodore.com> Date: 12 Jan 90 00:03:59 GMT References: <1576@aber-cs.UUCP> Organization: Commodore, West Chester, PA Lines: 51 in article <1576@aber-cs.UUCP>, pcg@aber-cs.UUCP (Piercarlo Grandi) says: > Summary: Too bad the 68k did not have a standard MMU > Here I have a small difference. The big problem with *existing* > 68k machines is that they all different MMUs, thus making an > ABI, or a standardized Unix, that much more difficult. Even > worse, most 68k machines, even 68020 VME boards, have no MMU, > because it must be added externally. The MMU is certainly a difference when it comes to implementing UNIX on a 680x0 system. But that's an OS concern, it shouldn't have anything to do with an ABI standard. That is, after all, Applications Binary Interface. Under 680x0 systems, MMU code is supervisor (kernel) mode only; it can't be run at the user mode level under any circumstance. > The overriding advantage of the 286 and 386 is that they have > an on-chip MMU and thus Unix can run on any 286 or 386 machine > around. I would think the '386 user would much rather have a real '386 UNIX, using paging and all, rather than a 16 bit, segmented UNIX that you're stuck with on a '286 machine. A '286 UNIX might have pleased someone used to UNIX on a PDP-11, but who's happy with that anymore? > Try for example to port Unix to the MacIntosh, or the Atari ST, > which would, but for the lack of MMU, perfectly capable of > running UNIX. Actually, a 68000 doesn't provide support for virtual memory either. UNIX is only real for 680x0 systems on 68020 and up CPUs for the most part, just like it's only real for '386 systems. Sure, a crippled UNIX will run on the '286, and it will run on the 68010 with an MMU, like the AT&T UNIX PC and the Tektronics lab computer. The SAME version of UNIX will run on most '386 machines, but that has nothing to do with them being '386 machines, it's because they're MS-DOS machines. So the UNIX implementor knows what the hardware is going to be like down to the level of what serial chip's driving the serial port and how the keyboard is driven. For 680x0 systems, just as for Sparc or MIPS or 88k or anything else, a specific UNIX for a specific platfrom is necessary. But given implementations that conform to the standard ABI, the same application program will run in Amiga UNIX, Macintosh UNIX, Sun UNIX, or even Atari ST UNIX once Atari has a 68020 or 68030 box. > Piercarlo "Peter" Grandi | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk > Dept of CS, UCW Aberystwyth | UUCP: ...!mcvax!ukc!aber-cs!pcg > Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk -- Dave Haynie Commodore-Amiga (Systems Engineering) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy Too much of everything is just enough