s/DNS/DNA/    - dyslexia sucks....

On Thu, Apr 6, 2017 at 2:02 PM, Clem Cole <clemc@ccc.com> wrote:
​try-II sorry about that...​


On Wed, Apr 5, 2017 at 9:18 PM, Wesley Parish <wes.parish@paradise.net.nz> wrote:
The mention of UNOS a realtime "clone" of Unix in a recent thread raises a question for me. How many
Unix clones are there?

An interesting question....   I'll take a shot at this in a second, note there is a Wikipedia page: https://en.wikipedia.org/wiki/Category:Unix_variants that I don't fully agree with.   

The problem with all of this question is really depends where you place which boundary on the following continuum:

non-unix                      add-unix ideas               trying to be unix              might as well be unix                       research unix stream

eg  VMS                            eg Domain                    eg UNOS                         eg Sys V, BSD/386 & Linux              Vx & BSD VAX


Different people value different things.  So here is my take from the "cloned" systems I used/was basically aware....

Idris was a V6 clone for the PDP-11, which I saw 1978ish.   I can say I was able to recompile code from v6 and it "just worked"  so from a user's standpoint it might as well has been.   But the compilers and assemblers were different and I never tried anything "hard" 

The first attempt to "clone" v7 that I knew about was in France, and written in Pascal - I think at Ecole Tech in Paris?  The name of the project escapes me, but they presented the work in the 1979/80 winter USENIX (Blackhole) conference in Denver.  There were no proceedings in those days.  I believe it also ran on the PDP-11, but I never ran it so; so I have no idea how easy it was to move things from Seventh Edition.   But I also don't think they were working binary compatibility, so I think it landed more toward the center.

The Cruds folks (Goldberg) wrote UNOS shortly there after (early 80s)      It was definitely not UNIX although it tried to have be mostly.   We had CRDS box at Masscomp and before I arrived they plan had been to use it get code working before the RTU was running.   But the truth was it failed because it was not UNIX.   The 68000 vs Vax issues were far, far less of an issue than UNOS != UNIX.  To Goldberg's credit, he did have a couple of cool things in it. I believe only system commercial systems that used Kanodia & Reed's Sequences and Eventcounts, were UNOS, Apollo Doman, and Stellar's Stellix (I'm not sure about DG - they might have also at one point).   But these were hidden in the kernel.  Also the driver model he had was different, so there was no gain writing drivers there.

Mike Malcom & Dave Cheriton at Waterloo developed Thoth (Thoth - Thucks), which was written in B, IIRC.  Ran on the PDP-11 and was very fast and light.  It was the first "ukernel" UNIX-like/clone system..  Moving code from V7 was pretty simple and there was attempt to make it good enough to make it easy to move things, but it was not trying to be UNIX so it was somewhere in the middle.

The Tunis folks seem to have been next.   This was more in the left side of the page than the right.   I think they did make run on the PDP-11, but I'm not so sure how easy it was to move code.   If you used their concurrent Pascal, I suspect that code moved.  But I'm not sure how easy it was to move a raw K&R "White Book" C code.

CMU's Accent (which was redo of Rochester's RIG) came around the same time.   Like Tunis the system language was an extended Pascal and in fact the target was the triple drip Perq (aka the Pascalto).   The C compiler for it was late, and moving code was difficult, the UNIX influence was clear.

Apollo's Aegis/Domain really came next - about 82/83 ish.   Like Accent it was written in hacked up Pascal and the command were in Ratfor/Fortran (from the SW Tool User's Group).    C showed up reasonably early, but the focus did not start trying to be UNIX.  In fact, they were very successfully and were getting ISV's to abandon VMS for them at a very good clip.   UNIX clearly influenced the system, but it was not trying to be UNIX, although moving code from BSD or V7 could be done fairly easily.  

Tannebaum then did MINIX.   Other than 8086 vs PDP-11-ism, it was a pretty darned good clone.    You could recompile and most things pretty much "just worked."   He did not support ptrace and few other calls, but as a basic V7 system running on a pure PDP PC, it was remarkably clean.  It also had a large number of languages and it was a great teaching system - which is what Andy created it be.    A problem was that UNIX had moved on by the time Andy released it.   So BSD & V8 were now pretty much the definition of "UNIX" - large address spaces were needed.  As were the BSD tools extensions, such as vi, csh.   Also UUCP was now very much in the thing, and while it was a pure v7 clone, it was the lack of "tools" that made it not a good system to "use" and it's deficiencies out weighed the value.   Plus as discussed elsewhere, BSD/386 would appear.

Steve Ward's crew at MIT created TRIX, which was a UNIX-like, although instead of everything being a file, everything was a process.  This was supposed to be the system that rms was originally going to use for GNU, but I never knew what happened.   Noel might.  I thought it was a cool system, although it was a mono-kernel and around this time, most of the OS research had gone ukernel happy.

Coherent was announcement and its provenance is questioned, although as discussed was eventually released from the AT&T official inquiry and you can look it your self.   It was clearly a V7 clone for the PC and was more complete than Minix.  I also think they supported the 386 fairly quickly, which may have made it more interesting from a commercial standpoint.  It also had more of the BSD tools available than Minix did when it was first released.

CMU rewrites Accent to create Mach, but this time splices the BSD kernel inside of it so that the 4.1BSD binaries "just work."   So it's bit UNIX and a new system all in one.  So which is it?   This system would begat OSF/1 and eventually become Apple's Mac OS?   I think its UNIX, but one can claim its not either....

By this point in time the explosion occurs.   You have Lion's book, Andy's and Maury Bach's book on the street. he genie is clearly out of the bottle, and there is a ton of code out there and the DNS is getting all mixed up.  Doug Comer does Xinu, Sheraton does V-kernel, Thoth is rewritten to become QNX, and  a host of others I have not repeated.  BSD's CSRG group would break up, BSDi would be created and their 386 code come out.   It was clearly "might as well be" if it was not.  Soon, Linus would start with Minix and the rest is history on the generic line.

Clem