Path: utzoo!mnetor!uunet!yale!husc6!spdcc!dyer From: dyer@spdcc.COM (Steve Dyer) Newsgroups: comp.unix.microport Subject: Re: can you run unix on Tandy 1000 SX's? Message-ID: <803@spdcc.COM> Date: 8 Apr 88 04:14:52 GMT References: <176@vader.UUCP> Organization: S.P. Dyer Computer Consulting, Cambridge MA Lines: 45 Keywords: tandy 8088 In article , hedrick@athos.rutgers.edu (Charles Hedrick) writes: ] I think the original IBM Unix, probably a Xenix version, ran on XT's. ] (I certainly recall seeing it run on a machine here long before there ] were 286's, so it had to have.) Mark Williams software has a V7 ] derivative that they call Coherent. I don't know much about it, but I ] do know that it runs on the older processors (indeed I think it won't ] run on a 286). The reason Uport won't run on an XT is that it uses ] protected mode. This exists only on the 286 and 386. It's impossible ] to make a real multiprocess OS without using that feature, so Unix is ] impossible on an XT. So, you say, how about the two things I just ] listed? They use sort of smoke and mirrors. As far as I know, they ] work, but any process can walk all over any other's memory if they do ] the wrong thing with the pointer registers.. In my opinion, this ] means that the processes are not in any normal sense separate ] processes. Since Unix by definition has multiple processes, this ] means that they aren't Unix. But they may look, act, and smell enough ] like Unix to be useful. Rather Jesuitical logic there. Sheesh, pretty soon we'll be hearing "Since UNIX by definition has virtual memory, this means that X isn't UNIX..." These comments were written with rather short hindsight from someone who should know better. The earliest versions of UNIX ran on unprotected PDP-11s, and mini-UNIX, a version of V6 which ran on PDP-11/04s and similar unprotected 64K byte machines could be licensed from AT&T in the 70's. There was an internal V7 port to the 8086 within Bell Labs in the late 70's. IBM's PC/ix (an Interactive Systems port to the 8088) was a creditable port of UNIX System III based on UNIX System III licensed code. SCO used to sell a version of XENIX, also UNIX licensed code, which ran on the 8088. In the case of PC/ix, one was reasonably "protected" from processes manipulating arbitrary segment registers because the compiler offered one and only one memory model: split-I&D, 64K instructions and 64K data, just like the PDP-11 44,45 and 70. No medium model far calls, or "large" or "huge" models. To the programmer, the segment registers didn't exist and weren't visible. The UNIX kernel used the segment registers to isolate the processes' address spaces from each other. This is about as good as you can do on such a machine, and it worked fine. It is better to have true memory protection and separate user/supervisor spaces, but their presence or absence is really quite orthogonal to what makes something "UNIX" or not. -- Steve Dyer dyer@harvard.harvard.edu dyer@spdcc.COM aka {ihnp4,harvard,husc6,linus,ima,bbn,m2c}!spdcc!dyer