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