[net.unix] UNIX Family Tree?

steve@dartvax.UUCP (Steve Campbell) (12/30/83)

I'm confused by all the different flavors of UNIX that people talk
about: V-this, System-that, the-other-BSD.  Would someone like to
enlighten us all by composing a family tree of UNIX's?  Start with
MULTICS if that's appropriate and show how all the different versions
evolved.  Footnotes about the major differences would be nice, too.

				Steve Campbell
				{decvax|linus|dalcs}!dartvax!steve

lee@fortune.UUCP (01/05/84)

#R:dartvax:-55400:fortune:26900012:000:1230
fortune!lee    Jan  4 16:59:00 1984


-
MULTICS is a distant relative of UNIX.  MULTICS runs on expensive
machines with many levels of protections.  It has almost everything
an operating system should have, if one is willing to pay for the cost.
UNIX started with the PDP11 using some ideas of MULTICS, i.e. I/O
redirections, fork and exec.  Since UNIX runs on cheaper and simplier
machines, it got more popular with programmers.  Bell Labs released the
early versions of UNIX (System I and II internally) with the sixth edition
of the manual (So, people named it version 6).  Berkeley hacked up
version 6 and shared it with other institutions.  Bell labs incorporated
some Berkeley features and released the version 7 ( this is where the
compatibility ended).  Bell labs went on with system III internally
and Berkeley developed BSD4.1.  Eventually, Bell labs decided to
support UNIX officially and released system III while developing
system IV.  Berkeley turned to virtual memory with BSD4.2.  Bell
labs decided to support the same version they sell and use (Finally!),
but didn't want to use the number 4 or IV.  Naturally, they use
the name system V while developing VI,VII, etc. And so it goes ...
 
  c  / 			Ed Lee
 C. /_.  	{amd70, ihnp4, harpo}!fortune!lee

gwyn%brl-vld@sri-unix.UUCP (01/05/84)

From:      Doug Gwyn (VLD/VMB) <gwyn@brl-vld>

I hope no one takes your UNIX evolutionary saga seriously
as it is almost entirely wrong.

swatt@ittvax.UUCP (Alan S. Watt) (01/05/84)

This was written in early 1981 as an appendix of a document to assist
users in the transition from INteractive Systems Corporation IS/1 VAX
Workbench(tm) to Berkley 4BSD.  It is somewhat out of date, and never
intended to be accurate as much as amusing.  Enjoy.

	- Alan S. Watt

Copyright (c) 1981, All rights reserved, and all that.





			   Appendix B - UNIX Geneology


	These are the generations of UNIX and all their progeny.

	The first generations of UNIX  lived  in  the  darkness  of  Bell
	Laboratories  and  did  not see the light of Commercial Exploita-
	tion, for the yoke of a Consent Decree lay heavily on the Labora-
	tories,  and  they  feared the might of the Department of Justice
	whose Division of Antitrusts  wielded  the  awesome  Taft-Hartley
	Act.

	Later when their fear  had  subsided,  Ken  Thompson  and  Dennis
	Ritchie  of  the  brotherhood  of Bell Laboratories brought forth
	V6/UNIX, and V6/UNIX lived in the land of PDP-11.  While not per-
	fect  in  the  eyes of all, it was a lot better than anything DEC
	could offer.  Though V6/UNIX  prospered  among  Universities  and
	other  Freebies,  it  was  shunned by Commercial Users for it was
	Unsupported, Nonstandard, cost Alottabread, and ran not BASIC.

	Then  V6/UNIX  begat  PWB  (Programmer's  Workbench)  UNIX,   and
	PWB/UNIX also lived in the land of PDP-11.  And although PWB/UNIX
	also prospered many still shunned it for it also was Unsupported,
	Nonstandard, cost Alottabread, and ran not BASIC.

	Then V6/UNIX begat V7/UNIX and V7/UNIX travelled  away  from  the
	land  of  PDP-11,  visiting  the  lands of Z8000, Interdata 8/32,
	M68000, and others, even the distant and  forbidding  kingdom  of
	IBM.   For these travels, V7/UNIX was awarded the Order of Porta-
	bility.

	These were the progeny of V6/UNIX.  And with the  advent  of  V7,
	V6/UNIX  passed  from  the  sight of Bell Laboratories, though it
	lives on in many sites in the land of PDP-11.  In all,  its  days
	numbered 5 years.

	Then Interactive Systems  Corporation  clove  unto  PWB/UNIX  and
	brought  forth  IS1  Workbench,  which  also lived in the land of
	PDP-11.  IS1 Workbench later visited the land of  VAX  and  lived
	there  as  a  neighbor of VMS, but the two were always jealous of
	each other and there was no harmony between them.   In  spite  of
	this  Commercial  Users  began to desire UNIX for now it was Sup-
	ported, though it was still Nonstandard, cost Evenmorebread,  and
	ran not BASIC.

	These were the progeny of PWB/UNIX.

	When V7/UNIX appeared, Vendors of Microcomputers began to say  to
	themselves:  "Wherefore  should  we  roll our own?  The tariff we
	must pay to the Systems Programmers Guild is  higher  each  year.
	And  when  they are done, they leave us a heavy Burden of Support
	and the Gripes of Users fill our days with  vexation  instead  of
	the  Easy  Profits  we  desire.   Let  us  therefore go unto Bell
	Laboratories and make obesiance that we  might  have  UNIX."  And
	this  they  did  in great number, bringing forth ONIX, and XENIX,
	and Uni-FLEX, and Look-Alikes beyond counting.



					8






			   Appendix B - UNIX Geneology


	And came forth many Software Houses who said:  "We  will  support
	UNIX  and  we will train your users and we will rid the system of
	Bugs.  And we will enter into covenants  with  you  to  guarantee
	this  and  thereby will you be relieved of worry and we will rake
	in Lotsabucks."

	And thus did V7/UNIX prosper even with Commercial  Users  for  it
	was now Supported and Standard, though it still cost Alottabread,
	and ran not BASIC.

	And V7/UNIX came at last to the land of VAX  and  cast  out  VMS,
	which  had  been  put  there  by  the Lords of DEC.  And with the
	posession of the land of VAX, V7/UNIX became V32/UNIX.

	And lo, unto V32/UNIX in the land of VAX came the lords of Berke-
	ley  bearing  many  fine gifts.  They brought a paging algorithm,
	that the Plague of Swapping might be overcome.  They brought  new
	Compilers,  and  V32/UNIX began to speak in the toungues of LISP,
	PASCAL, and APL.  And many other fine gifts did they bestow.   In
	honor  of  the  Lords  of Berkeley, V32/UNIX thenceforth took the
	name VM/UNIX.

	And these are the progeny of V7/UNIX whose days so far  number  2
	years.
































					9

lee@fortune.UUCP (01/05/84)

#R:dartvax:-55400:fortune:26900014:000:389
fortune!lee    Jan  5 12:06:00 1984



Sorry, it's really BSD2.* instead of BSD4.1 and BSD4.* instead of BSD4.2.
But I DO mean having version 6 and 7 before system I and II.
Since version 6 and 7 are supported in the public (non-Bell),
they are the real UNIX before system III.  This is precisely
the problem of having different versions inside and outside Bell.
 
  c  / 			Ed Lee
 C. /_.  	{amd70, ihnp4, harpo}!fortune!lee

guy@rlgvax.UUCP (Guy Harris) (01/06/84)

	Bell Labs released the early versions of UNIX (System I and II
	internally)...

Actually, those weren't System I and System II.  There were several UNIX
development streams in Bell; "version 6" and "version 7" came from the
"Research" group, so they are referred to as "Research UNIX".  There was
also a UNIX supported by a group within Bell Labs, used for various Bell
System projects, which was called USG UNIX (for Unix Support Group), and
there was a UNIX done for the PWB (Programmer's WorkBench) project called
PWB/UNIX.  PWB/UNIX was based on a version later than version 6 (it had
a C compiler, linker, archiver, Standard I/O library, etc. similar to the
one released with the "Phototypesetter, Version 7" tape, and a kernel similar
to the one made by adding the list of "50 changes" to UNIX that Ken Thomson
sent out to V6).  Later, the PWB/UNIX stuff was added to a version earlier
(I believe) than the released Version 7 (but with the V7 file system, etc.)
which made a system called UNIX/TS 1.0, which was more-or-less System I.
This became one of the two official UNIXes (the other was a descendant of
MERT called UNIX/RT), and the descendants of UNIX/TS 1.0 have been collectively
referred to as USG UNIX.

	with the sixth edition of the manual (So, people named it version
	6).  Berkeley hacked up version 6 and shared it with other institutions.
	Bell labs incorporated some Berkeley features and released the version
	7 ( this is where the compatibility ended).

Well, most of the changes between V6 and V7 were from Bell, not from Berkeley.
Neither "Version" 6 nor "Version" 7 were really "versions" in any formal
sense; I believe "Version 6" literally was "what happened to be on the
Research machine when the 'Version 6' tape was spun."  V7 was just a snapshot
of what the Research people had done to UNIX since V6.

	Bell labs went on with system III internally and Berkeley developed
	BSD4.1.  Eventually, Bell labs decided to support UNIX officially and
	released system III while developing system IV.  Berkeley turned to
	virtual memory with BSD4.2.

Actually, BSD 3.0 was the first release with virtual memory.  I'm not sure
whether the "First Berkeley Software Distribution" was their hacked V6 or
their hacked V7 (for the PDP-11), but the "Second Berkeley Software
Distribution" was a hacked V7 for the PDP-11.  The "Third Berkeley Software
Distribution" was based on UNIX/32V, which was UNIX V7 ported to the VAX-11.
The "Third Berkeley Software Distribution" had virtual memory.  The "Fourth
Berkeley Software Distribution" (frequently called, for obvious reasons,
4BSD) had a lot of new stuff, like job control, etc..  There have actually
been several "Second BSD" and "Fourth BSD" releases; the current "Second BSD"
release is 2.9BSD, and the current "Fourth BSD" release is 4.2BSD.  4.2BSD
is the one with the totally new file system, the totally new IPC/networking
system, the new signal mechanism, etc., etc..

	Bell labs decided to support the same version they sell and use
	(Finally!), but didn't want to use the number 4 or IV.

No, the reason that the version they sold which was supported and up-to-date
with the one they used internally was called System V was that it was
Bell release 5.0; "System V" would have been Bell release 4.0, 4.1, or 4.2.
Why they went with the Roman numerals, I dunno...

Any corrections, Dennis?  (DMR is the closest thing to an official UNIX
historian around; if he says it, you can believe it (but if you tell us
that UNIX was originally written in JOVIAL for the PDP-14, *that* will
change quickly! :-)).)  (Also, the internal history of UNIX within Bell is
even more ramified that my discussion implied; that wouldn't be directly
relevant to versions of UNIX released to the outside world, but would be
a *very* interesting discussion.  Any takers from AT&T Bell Laboratories?)

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy

lee@fortune.UUCP (01/06/84)

#R:dartvax:-55400:fortune:26900015:000:541
fortune!lee    Jan  6 09:42:00 1984


Please don't take my story of UNIX family tree too seriously.
Those are purely speculations of how they came up with names
for their off-springs.  
I remember some earlier messages about net.unix and net.unix-wizards

	- If you have something that Ken or Dennis or other UNIX
	  hackers will laugh at, put it in net.unix.
	- net.unix-wizards is for those who are serious about fixing
	  bugs and finding out what is really happening.

I wish they have a good laugh. HA HA HA.

 
  c  / 			Ed Lee
 C. /_.  	{amd70, ihnp4, harpo}!fortune!lee

ajs@hpfcla.UUCP (01/08/84)

#R:dartvax:-55400:hpfcla:43800002:000:1216
hpfcla!ajs    Jan  6 18:18:00 1984

Guess what I happened to just have laying around!  I hope it answers
your question, and that Mark doesn't mind me posting it.

>  From: cbosgd!mark (Mark Horton)
>  Date: 22 Jun 83 00:10:09 EDT (Wed)
>  
>  You asked why at "disappeared" from system III.
>  
>  At was never in System III or any of its  predecessors.  System  III did
>  not descend from V7 - you'll see many V7 features  that are not in SIII,
>  including mpx, learn, CBREAK, TIOCSETN.
>  
>  The lineology is (roughly):
>  
>        1976    1977     1978    1979     1980   1981      1982   1983
>  AT&T					     -------System III /- System V
>  					    /                 /
>  USG	      PWB 1.0 -> UNIX/TS 2.0 -> UNIX 3.0 -> 4.0 -> 5.0 -> 6.0
>  	   /
>  127	V6------------> V7
>  UCB               \       \--------------> 2.8BSD
>  		    \
>  135		     -> UNIX/32V
>  UCB		                \-----> 3BSD -> 4BSD
>  
>  There was considerable  cross-migration of V7 features into 2.0, such as
>  the Bourne shell and the V7 tty driver  (minus CBREAK and TIOCSETN)  and
>  environments,  but not a  wholesale  pickup of  everything.  All the PWB
>  descendents  allow  chown to give away  files (and thus have a buggy tar
>  command).
>  
>  	Mark

riddle@ut-sally.UUCP (Prentiss Riddle) (01/08/84)

Hmm.  Maybe we need a "net.roots.unix".				:-)

jab@uokvax.UUCP (01/09/84)

#R:dartvax:-55400:uokvax:6100011:000:1967
uokvax!jab    Jan  7 12:06:00 1984

The "Electronics" August issue was devoted to Unix and Unix-like systems.
I believe that Bill Joy's article did a pretty good job of showing the
roots of the BSD and Bell (err, I mean "AT&T") Unixes --- that's probably
a good starting place. Merging his information with the information in the
July/August 1978 Bell System Technical Journal (one of the "standard"
references) you should get a fairly good family tree of at least those two.

One thing to be remembered on the AT&T Unix: for a very long time, there
were two [separate] Unix systems distributed. The first was the "development"
system, done by the Research group (Dennis Ritchie, Ken Thompson, et al) and
the "production" system, done by the PWB (Programmer's Workbench) group
(J.R.Mashey et al). Version 6 and 7 were from the Research group, and
any release of PWB Unix was from the PWB group. Bill points out in his
article that with Unix 3.0 ("System III" to the outside world), the two
versions were merged to keep confusion down.

Unix/32V is a Vax port of an early V7 system. It is *REALLY* a "vanilla"
system --- no frills. The Vax BSD is based on that release, although it
has tried to track the AT&T Unix (with 4.2bsd being the first BSD that
wasn't closely tied to the AT&T Unix). [Side note --- "System III" came
out after Unix/32V and there was a Vax version of System III that replaced
Unix/32V.]

2.8bsd is a very very hacked V7 system, made to run on a lot of pdp-11's.
(2.9bsd is a 2.8 system with the 4.2 networking code retrofitted in with
a can of axle grease and a shoehorn. The pdp-11 isn't know for a large
program address space!)

System V is "son of 'System III'" in that it's the AT&T Unix that is
based on System III. (It's the first Unix that has been offered to people
inside the Bell System (that's what it was called then) and outside at 
about the same time.)

Enough verbage. That article expands on this information and is worth your
time. (Thanks, Bill.)

	Jeff Bowles

guy@rlgvax.UUCP (Guy Harris) (01/09/84)

Before anyone contemplating moving their favorite screen editor to System
III or System V, let me reassure them that the S3/S5 tty driver does provide
a mode with equivalent functionality to CBREAK mode; the only difference is
that to get at this mode you turn off a bit (specifically, the ICANON bit
in the "lflag" word of the "termio" structure).  Furthermore, TIOCSETN
set the terminal modes without either waiting for output to drain or
flushing input, which is exactly what TCSETA does on the S3/S5 terminal
driver; TIOCSETP is equivalent to TCSETAF (wait for output to drain, then
flush unread characters).

Also, I'd draw the graph with a line from a post-V6, pre-V7 "center 127"
release (I believe that's what the "127" and "135" refer to on the left
hand edge of Mark's graph; not ever having been employed by Bell Labs I
don't know exactly what a "center" is, but they use the term a lot.  AT&T,
like IBM, likes to invent lots of new words for common objects.) to
reflect the cross-migration of V7 features into UNIX/TS 1.0 as Mark
mentions (the internals of the S3 kernel resemble the internals of the V7
kernel fairly closely, far more closely than they resemble the V6 - or even
the "V6 + 50 changes" kernel that the PWB/UNIX 1.0 kernel resembles).

System III was, from what I can tell, a combination of the standard USG UNIX
release 3.0.1 plus a modified version of the PDP-11 3.0.1 done to support the
PDP-11/44 (which seemed to be unloved and unwanted within Bell, by and large).
(At least the "release" field of the structure the "uname" system call fills
in in System III fills it in as "3.0.1".)  There was a good deal of time
between the release of 3.0.1 within AT&T and its public release as System III,
but this is not reflected in any major changes.  System V was released about
3 months after it was internally released as UNIX 5.0.

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy