[TUHS] Unix clones

Clem Cole clemc at ccc.com
Fri Apr 7 04:00:48 AEST 2017


On Wed, Apr 5, 2017 at 9:18 PM, Wesley Parish <wes.parish at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20170406/e358f401/attachment.html>


More information about the TUHS mailing list