Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site edison.UUCP Path: utzoo!watmath!clyde!bonnie!akgua!mcnc!ncsu!uvacs!edison!jso From: jso@edison.UUCP (John Owens) Newsgroups: net.micro,net.arch Subject: Re: Re: What if IBM Had chosen the 68000? Not what you think Re: 386 Family Products Message-ID: <617@edison.UUCP> Date: Tue, 26-Nov-85 20:31:17 EST Article-I.D.: edison.617 Posted: Tue Nov 26 20:31:17 1985 Date-Received: Fri, 29-Nov-85 08:32:15 EST References: <129@intelca.UUCP> <392@aum.UUCP> <225@l5.uucp> Organization: General Electric Company, Charlottesville, VA Lines: 68 Xref: watmath net.micro:12884 net.arch:2187 > In article <428@ecn-pc.UUCP> wdm@ecn-pc.UUCP (Tex) writes: > >In article <456@looking.UUCP> brad@looking.UUCP (Brad Templeton) writes: > >>4) Unix on micros is delivered a real blow. Chances are the IBM 68000 > >> has no memory managment. It's expensive and slows things down. > >> This means no Unix on this one. Sure there will be Unix for more > >> expensive 68000 boxes with no MMUs, but they will always be there. > >> Other multi-tasking systems that need an MMU like QNX are also hurt. > > > > The IBM PC has no memory management. What is your point here? It makes > Incorrect > > no sense. You are incorrect in saying that because this imaginary > > machine has no mmu, there would be no unix (as you point out > > in the next sentence) since there are versions of unix right now > > that do not need memory management. Anyway, who said our ibm 6800 > Show me these versions of Unix... If they exist, don't they have to > make very harsh restrictions on user code, ie. making it position independent? > > -- > Brad Templeton, Looking Glass Software Ltd. - Waterloo, Ontario 519/884-7473 First, the IBM PC *DOES NOT* have memory management. If you think it does, please let me know how you define memory management, and what the hardware for this is on the PC. There are many versions of UNIX that don't require memory management. Venix/86 from Mark of the Unicorn (marketed by Unisource) runs quite well on the PC, and supports UNIX at about the level of a PDP-11 with separate I&D space (11/44,11/70, and some of the newer ones (11/73?)). On the PDP-11, you would have a 16 bit virtual address, which in "normal" mode provided a linear address space, and in "separate" mode, provided *two* linear virtual address spaces, one for references through the PC (instructions and PC-relative data, usually constants), and one for any other references. This provided for 64K of code space, and 64K of combined data/stack space. Sounds a lot like one of the 808x memory models.... (Compact?) The Venix C compiler uses small model for "normal" programs, and the model above for "separate" programs. Note that programs need never modify or even know the value of their segment registers. This isn't any more "position independent" than MS-DOS programs, which can be loaded anywhere - that's the whole point of segment registers (besides just being a kludge to get 20-bit addresses). Of course there's no absolute inter-process security, since anyone can just set a segment register to whatever they want, but for practical (non-secure, just reliable under use) purposes, this is fine - no one codes in assembler on a UNIX system anyway, except for special purposes. Trivia for V7 buffs: Venix/86 implements the (root-only) phys() call by setting ES to the value you pass in. I'm sure the other PC UNIXes (Xenix, PC/IX, etc.) use similar mechanisms. Does anyone know if Xenix/286 even uses the 286 protected mode? (In addition to the PC, UNIX runs on other machines without memory management, including some bare (no MMU) 68000 machines.) -- John Owens General Electric Company Phone: (804) 978-5726 Factory Automated Products Division Compuserve: 76317,2354 decvax!mcnc!ncsu!uvacs ...!{ gatech!allegra!uvacs }!edison!jso ihnp4!houxm