Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1+some 2/3/84; site dual.UUCP Path: utzoo!linus!decvax!decwrl!dual!fair From: fair@dual.UUCP (Erik E. Fair) Newsgroups: net.micro,net.micro.68k Subject: Re: 68020 MMU Questions Message-ID: <871@dual.UUCP> Date: Wed, 21-Nov-84 00:07:30 EST Article-I.D.: dual.871 Posted: Wed Nov 21 00:07:30 1984 Date-Received: Thu, 22-Nov-84 07:04:08 EST References: <4667@fortune.UUCP> Distribution: net Organization: Dual Systems, Berkeley, CA Lines: 35 DUAL Systems has never used a proprietary MMU scheme for any of the 68000 family of CPUs in any of our boards (unless you consider the 68451 from Motorola to be proprietary). The very first DUAL UNIX system had no MMU because we waited for Motorola to finish the one they were working on. In retrospect, that was a mistake. In the meantime, however, we just split memory into two sections, one starting at location 0, and one starting at location 0x800000. The UNIX Kernel ran in the 0 section (or `kernel memory' as we called it), and user programs ran out in the memory at 0x800000. When a program in user mode attempted a reference to an address less than 0x800000 (i.e. without address line #23 on), the system took a protection trap, and we would blow the user away with SIGSEGV. Needless to say, without an MMU, context switching was a major chore (lotsa copying of user text, data, and Udots) and was *very* slow. However, UNIX worked. When the 68451 arrived, it was designed into the CPU board, and our kernel was modified to take advantage of it. I don't think there are any of the non-MMU DUAL UNIX systems left out there. (I certainly hope not!). [begin disclaimer] This is soley my opinion, and does not necessarily reflect the opinion or policy of DUAL Systems Corporation. [end disclaimer] Erik E. Fair ucbvax!fair fair@ucb-arpa.ARPA dual!fair@BERKELEY.ARPA {ihnp4,ucbvax,hplabs,decwrl,cbosgd,sun,nsc,apple,pyramid}!dual!fair Dual Systems Corporation, Berkeley, California