[net.unix] Unix History

pat@ih1ap.UUCP (Patrick A. Fargo) (01/11/84)

After reading the various responses to the history of UNIX within and outside
AT&T Bell Laboratories, I decided to provide some other details of the
development inside the labs.  I ordered the 2nd PDP 11/70 at Indian Hill
in 1976. I will try to give a list of important changes in perspective.

After development of the first UNIX systems in research, Joe Maranzano
of Murray Hill created a UNIX support group. This group would package,
fix bugs, and enhance the research version periodically. A year after
this new group was formed, Heiz Lacklama and Doug Bayer of Holmdel
modified UNIX for a PDP 11/70 using the 3 memory management registers so
that UNIX ran as a supervisor. This product, called MERT for Mult
Environment Real-Time operating system, was eventually support by the same
UNIX support group.

The third major entry was UNIX/PWD. The programmers workbench contained
programs which controlled remote job entry, and source control. These were
developed at Piscataway N. J. In this time period, new PDP processors such
as the PDP 11/34, and PDP 11/23 and even a PDP 11/55 were released and off-
springs to UNIX developed for them. The PCC (Portable C Compiler) and satellite
library for UNIX was generated and new MINI UNIX products arose. On the
other hand, UNIX for a HONEYWELL and UNIVAC 1100 series was also started.

Around 1978, the UNIX support group in conjunction with a computer task force
decided to support two major releases. UNIX/TS and UNIX/RT. UNIX/TS was USG
UNIX and PWD UNIX combined. The UNIX/RT was basically supported MERT. Columbus
had modifyed a version of MERT extensively, and called their product
CB UNIX. Another version of MERT formed the basis for DMERT, a Duplex operating
system. The thrust of only two supported versions was that UNIX/RT showed
very good promise as being the more used version and anything that could
be done in UNIX/TS would work in UNIX/RT.

The advent of the PDP VAX computer now created four products. UNIX/RT and
UNIX/TS for both PDP 111/70 and VAX 780 computers. In 1979 UNIX/RT was
announced as 1 year to freeze, with UNIX/RT VAX officially dead. The
remaining UNIX/TS VAX was again modified by the Indian Hill computer center
into another product called UNIX/TS Augmented. Finally, the product
internal to AT&T Bell Labs call UNIX/TS was the only major product supported.

I hope this little history was interesting. If you have further questions
I will try and answer them within company constraints.

Patrick A. Fargo

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

Correcting a few typos: "Heiz Lacklama" is actually Heinz Lycklama, now
of Interactive Systems; "UNIX/PWD" is actually PWB/UNIX.

MERT was actually a separate OS from UNIX, which had a UNIX overlay on
top of it (so the first case of putting a UNIX-compatible interface on
top of a different OS was Bell's own MERT!).

	In this time period, new PDP processors such as the PDP 11/34,
	and PDP 11/23 and even a PDP 11/55 were released and offsprings
	to UNIX developed for them.

The 11/55 was just an 11/45 with faster memory and a faster floating point
unit, so the standard UNIX that ran on an 11/45 would run on the 11/55.
The 11/34 and 11/23 would, by and large, run versions of UNIX that ran on
the 11/40, except that they could support the floating point instructions.
(They also had other features, like the 11/34's cache and the 11/23+'s
22-bit UNIBUS, but standard UNIX know about them.)

	UNIX/TS was USG UNIX and PWD UNIX combined.

And was derived from a version of UNIX that was mostly Research V7, although
it was, I believe, slightly earlier than the released V7 (it had a V6-ish)
terminal driver, for instance) - the original USG UNIX and PWB/UNIX were
derived from V6 or from V6es later than the released V6 - a set of "50 changes"
that would turn V6 into what was running at Research at the time when the
changes were sent out was done by Ken Thompson, and there was a
"Phototypesetter, Version 7" distribution that contained the "modern"
nroff/troff/eqn/tbl, the "modern" C compiler with "long", "typedef", etc.,
the "modern" linker and archiver, and the Standard I/O library.  Most of the
"50 changes" and "Phototypesetter, Version 7" stuff was in PWB/UNIX 1.0.

	Another version of MERT formed the basis for DMERT, a Duplex operating
	system.

For the 3B20-D; the D stood for Duplex and meant there were two CPUs in a
redundant configuration.

	In 1979 UNIX/RT was announced as 1 year to freeze, with UNIX/RT
	VAX officially dead.

Just out of curiosity, why was UNIX/RT canned if, as stated earlier, it was
felt that UNIX/RT could do everything UNIX/TS could and more?

	The remaining UNIX/TS VAX was again modified by the Indian Hill
	computer center into another product called UNIX/TS Augmented.

Was there also *another* UNIX/TS variant called UNIX/TS+ (plus)?

	Finally, the product internal to AT&T Bell Labs call UNIX/TS
	was the only major product supported.

And was named just UNIX as of release 3.0 (release 3.0.1 was publicly
released as System III); it incorporated stuff from TS Augmented and
TS+.

Was CB-UNIX based on UNIX or MERT, and how much stuff going into the
mainstream UNIX (S3, S5) came from CB-UNIX?

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

pat@ih1ap.UUCP (Patrick A. Fargo) (01/12/84)

Thanks to Guy Harris for the corrections. In response to his other questions:


	1). Why was UNIX/RT canned instead of TS? Good question! I believe
	    because of staffing a choice had to be made. Since DMERT was RT
	    based and would be supported, USG felt UNIX/TS had more potential
 	    from a computer center standpoint.

	2). Was UNIX/TS+ another modified UNIX/TS?  Yes, the UNIX/TS Augmented
	    that I spoke of was actually called UNIX/TS++. Modifications were
	    made that were mostly hidden from the user interface.

	3). What was CB-UNIX based on?  CB-UNIX was a modified MERT. The
	    SCCS project modified extensively, the version of MERT they had.
	    Later, they incorporated the MERT changes in UNIX/RT releases.
	    Eventually, an agreement to take the requested CB modifications
	    into the standard UNIX/RT product was reached and that line of
	    modified O.S. ceased.

Thanks again for the corrections,

P. A. Fargo
AT&T Bell Laboratories IH

larry@ihuxf.UUCP (Larry Marek) (01/12/84)

This is about as UNofficial as it can be, but from the point of a  computer
system ``user'' UNIX/RT was a **PIG**.  It may have been great for certain
applications, but it certainly did NOT make a good general time-sharing
system!

Another point is that the whole system was riddled with bugs.  I had the
opportunity to work with some of the RT folks (on a few of the bugs) and my
impression was that they were a small group of people that were just
overloaded.  Apparently the "management" decision was that RT wasn't worth the
effort to "rescue" it.
-- 


		Larry Marek
		 ihnp4!ihuxf!larry

usenet@abnjh.UUCP (usenet) (01/12/84)

The story goes that the stuff new to 5.0 (called System V when it
was released to the outside world) was put there to satisfy
the needs of the people at Columbus, who were using UNIX as a base for
writing 'Operations Support Systems', ie. programs to be used by
operating companys in non-programmer environments.  They needed things
like shared memory and inter-process communication.  Those features
had already been done for CB-UNIX (Whether as part of DMERT or UNIX, I
dont know.) but were re-done but the UNIX Support Group people.
The hope was that the Columbus people would all convert over to 5.0
and efforts could be consolidated.  I dont know whether this hope was
realized, I left the Labs about the time this was happening.
 Rick Thomas

pat@ih1ap.UUCP (Patrick A. Fargo) (01/12/84)

The point about the performance and reliability of UNIX/RT is well taken,
and I agree. But remember, UNIX/RT (MERT) was in existence about 1 and a half
years less than UNIX/TS. The bug rate was higher, and UNIX/RT performance
was increased dramatically for a few projects at the labs. Overall apprasail
of UNIX/RT by the developers themselves were RT before TS.

pat@ih1ap.UUCP (Patrick A. Fargo) (01/13/84)

A clarification about a statement I made concerning CB-UNIX.
The SCCS project at Columbus was NOT Source Control. It was
short for Switching Control Center System or something like that. Thanks
to Andy for the help.

P. A. Fargo
BTL -IH

jimjwf@mhtsa.UUCP (01/14/84)

CB UNIX was not derived from MERT but grew out of the internal
distributions from the USG (generic 1,2 and 3) (yes thats a new set
of numbers, not to be confused with any of the other UNIX numbering
conventions). The USG 3 system had some of the real time things that
CB wanted and they were incorporated into CB-UNIX. One of the reasons
that UNIX developed quickly and MERT did not was the support/feedback
from the CB Labs. They had some sharp people and a good exchange with
the USG when UNIX was an infant, but grew to love their version of UNIX
and did not swing their applications to MERT/UNIX-RT. I suspect that if
they had, RT might have been a good product but with only a few customers
and an over-burdened support staff RT was put on the shelf.

Any old USGer's care to add to this.

I hope some one is collecting all of this UNIX folklore and plans to
print it paperback.

Jim Farrell
AT&T Bell Labs

gwyn%brl-vld@BRL-VLD.ARPA (01/14/84)

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

The UNIX System V IPC was already present in USG UNIX 4.1.
(Not related to 4.1BSD.)
It appears to me that these features must have been in UNIX/RT.

gwyn%brl-vld@BRL-VLD.ARPA (01/14/84)

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

Guy Harris has given much more accurate UNIX history notes than most
of what has filtered into the ARPAnet on this topic.  I would like to
add a couple of comments:

It was fairly easy to take the 6th Edition UNIX 11/45 floating-point
processor (FP11) support and add it into the 11/40 version for a
PDP-11/34.  One subtle problem with using the 11/40 kernel on an 11/34
is that the faulted-instruction restart code was not entirely correct
for the 11/34, although later the 11/23 was again 11/40-compatible in
this regard.  The 6th Edition UNIX floating-point support also had
some bugs that needed to be fixed if one was going to make heavy use
of floating-point on an 11/34 or 11/23, as we did at Geotronics Corp.

The most important Columbus product to appear in USG UNIX would
probably be the augmented "make", which is much nicer than the
7th Edition UNIX version, although still not perfect.

All it takes to make UNIX quite usable for real-time data acquisition
is:
	(1) plock(2) or equivalent to ensure that user-mode code is
	    memory-resident when needed.
	(2) strict priority scheduling, which can be as simple as
	    adding a privileged "real-time process queue" to the
	    existing scheduler.
	(3) data acquisition device driver and user-mode dual-buffered
	    program that cooperate nicely.
One of the past USENIX tapes contained Geotronics contributions for
items (1) and (2) for 6th Edition UNIX.  John Quarterman, now with the
University of Texas Dept. of CS, did a really nice job of making (3)
work for the proprietary 11/23-based system used in the field by
Geotronics Corp.

ron%brl-vgr@sri-unix.UUCP (01/15/84)

From:      Ron Natalie <ron@brl-vgr>

Guess again guy, there is no such thing as a 22 bit UNIBUS.
23's have Q-Buses. 24's have unibuses.  The 23+ was a documented
processor with 22 bit addressing (those of us with plain 23's found
that they were inherently 22 bits two and it was easy to make us
of it.

-Ron

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

	The UNIX System V IPC was already present in USG UNIX 4.1.
	(Not related to 4.1BSD.)

For you real UNIX trivia freaks, the USG 4.0 IPC was different
from the USG 4.1 IPC.  The original message send/receive system calls sent
to a process ID; they were changed to send to message queues, which had a
32-bit unique ID, instead (which makes more sense, as it permits you to
transparently replace servers).  (It might be interesting to see how many
changes to the Berkeley IPC mechanism would be needed to provide yet another
domain which provides compatibility with the S5 IPC mechanism; obviously,
the socket addresses would be the unique IDs.  The trick is that the S5
messages have a "long" which is a "message type", and the S5 "msgrcv"
call can ask to be delivered only messages of a certain type, or messages with
a certain type number or lower number.  Also, message queues (and other
"IPC objects") have an owner UID, owner GID, and permission bit set
associated with them.)  The semaphore code was also very different (it may
have been descended from semaphore code done for the pre-UNIX/TS USG systems),
and the shared memory code was the MAUS code which used a dedicated part
of physical memory for the shared space.  The history of Bell UNIX IPC
mechanisms looks rather multi-branched; anybody out there with the full
story?

It's also interesting to see mention of various such branches in the BSTJ
issue on UNIX (the July-August 1978 issue, Vol. 57, No. 6, Part 2).  They
make casual reference to "the UNIX interprocess message facility", "the
semaphore capability of the UNIX system", and to "run levels" in "the standard
UNIX 'init' program" in the article on the Network Operations Control System,
and also describe the MAUS shared-memory facility which was originally done
for that system.  (Another aside: the MAUS was credited to Dale DeJager
and R. J. Perdue; I remember seeing some code from Gould which was part of
their driver and support code for their 5000 series electrostatic printer-
plotter for DEC systems which was also credited to R. J. Perdue - was this
the same guy?)  A lot of those features probably came out of Columbus but
never made it into the UNIXes released to the outside world until System III
(the 'init') or System V (the messages and semaphores).  Andy Tannenbaum sent
me a "man" page for an "init" from a pre-UNIX/TS USG system which also had
the run levels, and Hal Pierson (ex-Labs, now working here) mentioned that
they had done both a semaphore system and the run-level based 'init' for a
system they did which collected output from the console terminal ports of
Electronic Switching Systems processors and allowed "craftsmen" (which I
think is AT&Tese for "field engineer") to peruse that output for maintenance
purposes.  They also realized that these craftsmen wouldn't know an inode if
it came up and bit them in the *ss, so they had to replace "icheck" and "dcheck"
with a new program which would do most of the dirty work of file system repair
for them - Hal wrote one called "fcheck", which cleaned V6 file systems, and
which appeared in source-code form on the PWB/UNIX 1.0 distribution tape.
Unfortunately, PWB/UNIX 1.0 modified the V6 file system so that it didn't
support "huge" files, and the eighth indirect pointer pointed directly to
a block as the other seven did, so the "fcheck" there wouldn't fix a vanilla
PWB/UNIX file system, but it worked just fine on a vanilla V6 FS.  When I
discovered it, quite by accident, I looked at it and it sure looked like
a super-duper file system fixer; once we got it up, we never went back to
"icheck" and "dcheck" again.  Later on, of course, Ted Kowalski rewrote it
to work on a V7 filesystem, added some extra checks, gave it the ability
to reconnect files with no directory entries, put comments into the
code (something Hal still has trouble doing :-)), cleaned it up some, and
renamed it "fsck".

	It appears to me that these features must have been in UNIX/RT.

MERT had its own set of new features, including yet *another* message facility
which didn't look like any of the "Ken&Dennis-derived" UNIX systems'
facilities, but I don't know what they did in UNIX/RT.

A lot of source material is in the BSTJ UNIX article, and may appear in some
issues of Bell Labs' "UNIX Systems Newsletter" which was distributed to
UNIX sites within AT&T & operating companies.

Anybody for a "net.unix.history" newsgroup - at the end of the year, maybe
we gather up all the articles, give them to some editor (maybe Dennis, who
certainly doesn't have anything more important to do :-)) who can cull out
the chaff, and publish it somewhere?

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

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

Sorry, I should have said "the 11/23+'s, 11/24's, and 11/44's 22-bit address
space without a 22-bit I/O bus"; standard V7 and S3 assume that if you have a
22-bit memory space you have a MASSBUS.

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

dale@lzmi.UUCP (01/17/84)

A correction to the comment on the source of CB-UNIX.
I was the supervisor of the group in Columbus for a number of years that was
responsible for the development of CB-UNIX.  The system was derived
from the UNIX operating system that was used in the SCCS (Switching
Control Center System), which incidentally was the first application
of UNIX outside of research. (UNIX was running on an 11/20, at the time,
without memory management and we deployed the first version of SCCS
in New Jersey Bell in New Brunswick, NJ.)

The SCCS version of UNIX had a number of unique features for the times:
semaphores and line disciplines (in 1974!) for example. Hal Pearson
was responsible for semaphores, and Bill Snider for line disciplines.

Messages and shared memory were first added to CB-UNIX in about 1975 or
1976. Shared memory was called MAUS (pronounced moss, standing for
Multiple Access User Space) and was derived from an earlier version
done by R. J. Purdue.  CB-UNIX became rather widely accepted within BTL
as a base for turnkey Operations Systems--many of which have been
described in the BSTJ. Note that CB-UNIX was not a derivative of UNIX/RT, but
of Version 6 and Version 7.  PWB UNIX was also a derivative of Version 7.
USG UNIX was originally a derivative of Version 6 and 7 with some CB-UNIX
facilities added.  Eventaully a decision was made to consoldate to two
versions of UNIX:  UNIX/TS and UNIX/RT. RT was a derivative of MERT, and
TS a derivative of PWB UNIX. RT was to be used by Operations Systems, but
was never too widely accepted. Eventually, UNIX/TS was augmented to have
many of the features present in CB-UNIX (this was done by Roger Faulkner
at Indian Hill, BTL. This, in turn, became the base for UNIX 4.0, which
was never released externally. While this augmentation was going on, UNIX/TS
was being changed into UNIX 3.0 which was release externally as SYSTEM III.

In more recent history, CB-UNIX has been eliminated entirely in favor of
UNIX 5.0. (one reason is because it never ran on anything other than the 11/70)

I once had a viewgraph with all this on it which I had great fun trying to
explain.

Now for trivia: How many know where in UNIX lore you would find the following
quote:  "Values of beta will result in dom!"

			Dale DeJager
			AT&T Information Systems
			Lincroft, N.J.

crandell@ut-sally.UUCP (Jim Crandell) (01/25/84)

>Now for trivia: How many know where in UNIX lore you would find the following
>quote:  "Values of beta will result in dom!"

Sooner or later, in /usr/games/lib/fortunes.dat .
-- 
   Jim ({ihnp4,kpno,ut-ngp}!ut-sally!crandell or crandell@ut-sally.UUCP)

chinn@butler.UUCP (David Chinn) (05/31/86)

Sorry if this has been asked before....

Could anyone give me a short run down on lineage
of the major lines of UNIX? Perhaps a brief narration 
or a family tree showing how sys V and 4.3 and such 
are all related.  I am primarily interested in AT&T and
Berkley, VAXEN and PDP's;  where do 3b2 and 2.9 fit in?  
			
				Thanks in advance;

    ... uw-beaver                                david m chinn
	   !tikal!dataio                         box 639
	       !butler!chinn     	         redmond,  wash 98073

henry@utzoo.UUCP (Henry Spencer) (06/06/86)

> Could anyone give me a short run down on lineage
> of the major lines of UNIX? Perhaps a brief narration 
> or a family tree showing how sys V and 4.3 and such 
> are all related...

If you want a *very* brief version, draw a line of development marked "V1"
through "V8".  Between V6 and V7, draw a branch starting out "PWB" and
proceeding on through "SysIII" and "SysV" to "SysV.3.2.4.etc".  Between
V6 and V7, draw another branch starting out "1BSD" and going on to "2BSD"
and "2.nBSD".  Draw a branch from V7 and another from somewhere in the 2.xBSD
series, and merge them into a line starting "3BSD" and going on into the
4BSD series.  That's roughly right.

Then cover the whole drawing with a dense tangle of lines indicating
variants, independent sub-lines of development, and cross-fertilization in
various directions.  There were several *major* independent lines (tangles)
of development within AT&T alone.  Some friends of mine tried to draw up
an accurate family tree; it took them a long time and considerable research
and there were still gray areas and question marks.
-- 
Usenet(n): AT&T scheme to earn
revenue from otherwise-unused	Henry Spencer @ U of Toronto Zoology
late-night phone capacity.	{allegra,ihnp4,decvax,pyramid}!utzoo!henry

mrl@oddjob.UUCP (Scott R. Anderson) (06/10/86)

In article <6780@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes:
>> Could anyone give me a short run down on lineage
>> of the major lines of UNIX? Perhaps a brief narration 
>> or a family tree showing how sys V and 4.3 and such 
>> are all related...
>
>Between V6 and V7, draw a branch starting out "PWB" and
>proceeding on through "SysIII" and "SysV" to "SysV.3.2.4.etc".

This raises the burning question:  whatever happened to
Systems I and II, and, especially, IV?  I never hear them
discussed.  Were they ever released commercially, and if
not, why not?
-- 

					Scott Anderson
					ihnp4!oddjob!kaos!sra

matt@saber.UUCP (Matt Perez) (06/11/86)

> 
> This raises the burning question:  whatever happened to
> Systems I and II, and, especially, IV?  I never hear them
> discussed.  Were they ever released commercially, and if
> not, why not?
> 
> 					Scott Anderson
> 					ihnp4!oddjob!kaos!sra

System IV was in use within the Labs in (memory don't
fail me now) the latter part of 1980.  It was never
released commercially because as SIV was released, SV
was already targeted to be the system that was going to
be released within and without Ma Bell at the same time.
Up until then, a system was released in-house and
external release would lag for as much as a couple of
years or not at all.

I know somebody who ran SI and SII at Teletype in or
around 1978-1979.

-- 
{amd,att,cbosgd,calma,cayuga,dual,idi,ihnp4,intel,imagen,nsc,qubix,qumix,sun,wamo,wcwvax,weitek}!saber!matt

sbs@valid.UUCP (Steven Brian McKechnie Sargent) (06/14/86)

> In article <6780@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes:
> >> Could anyone give me a short run down on lineage
> >> of the major lines of UNIX? Perhaps a brief narration 
> >> or a family tree showing how sys V and 4.3 and such 
> >> are all related...
> >
> >Between V6 and V7, draw a branch starting out "PWB" and
> >proceeding on through "SysIII" and "SysV" to "SysV.3.2.4.etc".
> 
> This raises the burning question:  whatever happened to
> Systems I and II, and, especially, IV?  I never hear them
> discussed.  Were they ever released commercially, and if
> not, why not?
> -- 
> 
> 					Scott Anderson
> 					ihnp4!oddjob!kaos!sra

If memory serves, what you call Systems I and II existed as
versions of the UNIX Time Sharing System and the Programmer's
Workbench system (versions 1.0 and 2.0).  System III was made
commercially available about 1981, during which time System IV
was in use inside the phone company -- but at the same time that
4BSD was in its first blush of youth.  So they leapfrogged IV
altogether, presumably to avoid confusing the UNIX(TM)-buying public.

Friends tell me there is also a System VI, which has been ruthlessly
crushed for internal political reasons; but that's vicious rumour.

The 8th Edition system is based on 4.1BSD, and I hear there's a Version
9 as well; so I think we've gotten the 1-digit numbers pretty well
nailed down and bleeding, and the phone company will iterate forever on
the System V.3.1.4a.870422.9:33:04am.Rev3 naming scheme.


"After changes upon changes we are more or less the same."
					- Paul Simon
S.

(TM) UNIX is a Footnote of AT&T Bell Laboratories.

larry@geowhiz.UUCP (Larry McVoy) (06/14/86)

In article <6780@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes:
>> Could anyone give me a short run down on lineage
>> of the major lines of UNIX? Perhaps a brief narration 
>> or a family tree showing how sys V and 4.3 and such 
>> are all related...
>
>If you want a *very* brief version, draw a line of development marked "V1"
>through "V8".  Between V6 and V7, draw a branch starting out "PWB" and
[etc, etc]

The best picture I've seen is by John Quartermain (sp?) in the chapter on Unix
in the *second* edition of the Peterson & Silberschatz book "Operating System
Concepts".  I think it's just what the patient ordered.
-- 
Larry McVoy
-----------
Arpa:  mcvoy@rsch.wisc.edu                              
Uucp:  {seismo, topaz, harvard, ihnp4}!uwvax!geowhiz!larry      

"Just remember, wherever you go -- there you are."
 	-Buckaroo Banzai

gwyn@brl-smoke.ARPA (Doug Gwyn ) (06/15/86)

Various people have been putting forth misleading or incorrect speculations
about releases/versions of UNIX.  Unless you were DIRECTLY involved with
the development of UNIX, please cut it out.

mike@whuxl.UUCP (BALDWIN) (06/16/86)

> Friends tell me there is also a System VI, which has been ruthlessly
> crushed for internal political reasons; but that's vicious rumour.

System VI is really System V Release 2.0.  The naming convention was
changed to "nail down" the System V part.  Some SVR2 code still has
6.0 embedded in the comments.

> The 8th Edition system is based on 4.1BSD, and I hear there's a Version
> 9 as well; so I think we've gotten the 1-digit numbers pretty well
> nailed down and bleeding, and the phone company will iterate forever on
> the System V.3.1.4a.870422.9:33:04am.Rev3 naming scheme.

I haven't heard of any 9th Edition; the System V numbering should
be standardized now on Release numbers.  Release X.Y.Z is major release
X, enhancement Y, bug-fixes Z.

> (TM) UNIX is a Footnote of AT&T Bell Laboratories.

Oops!  UNIX is now a *registered* trademark of *AT&T*.
(No Bell Labs anymore)
-- 
						Michael Baldwin
			(not the opinions of)	AT&T Bell Laboratories
						{at&t}!whuxl!mike

henry@utzoo.UUCP (Henry Spencer) (06/17/86)

> This raises the burning question:  whatever happened to
> Systems I and II, and, especially, IV? ...

Adam Reed and Matt Perez have already answered this moderately well, but
I'll throw in a few more tidbits.  System I was, approximately, PWB, which
was released.  System II was an improved PWB, incorporating some useful
things like a souped-up shell; it was never released because just then
AT&T was not sure it wanted to continue distributing useful new goodies
to potential competitors.  After the decision to continue with distribution
was made, System III was released, well after it was in use internally.
System IV never made it out because it was already in use when SysIII came
out, and the decision to bring external releases into sync with internal
ones overtook it.  System V was then released.  Since "System V" has now
become a magic marketing buzzword, the top-level numbering is absolutely
frozen for external purposes, and all future releases will be V.something
rather than VI, VII, etc.

Fortuitously, this happens to avoid 4, 6, and 7, which correspond to other
well-known flavors of Unix.

If you want to get a look at what System IV was like, check out the PDP11
distribution of System V.  PDP11 SysV is really SysIV.  Although AT&T won't
admit it in so many words, they effectively abandoned work on PDP11 Unix a
long time ago.  For example, although some of the SysV performance work
wouldn't fit on the 11, *some* of it would.  None of it was applied to
PDP11 SysV.  The PDP11 SysV shared-memory stuff is also different from and
incompatible with the regular SysV version.
-- 
Usenet(n): AT&T scheme to earn
revenue from otherwise-unused	Henry Spencer @ U of Toronto Zoology
late-night phone capacity.	{allegra,ihnp4,decvax,pyramid}!utzoo!henry

hfavr@mtuxo.UUCP (a.reed) (06/17/86)

> This raises the burning question:  whatever happened to
> Systems I and II, and, especially, IV?  I never hear them
> discussed.  Were they ever released commercially, and if
> not, why not?
> 					Scott Anderson
> 					ihnp4!oddjob!kaos!sra

System numbers correspond to releases standardized by the
Bell Labs' UNIX Support Group (USG) and its successor
organization in AT&T IS Computer Systems Division. Roman
numbers are used for external releases and arabic numbers
for the corresponding internal releases. There were no
external releases corresponding to USG internal systems
1, 2, and 4. USG System 4 did not have enough functionality
beyond that available in USG System 3/III to justify a
separate external release.
					Adam Reed
					ihnp4!npois!adam

ka@hropus.UUCP (Kenneth Almquist) (06/19/86)

> > This raises the burning question:  whatever happened to
> > Systems I and II, and, especially, IV? ...

Back in 1978, I think it was, a grand new numbering scheme for UNIX releases
put out by USG was devised.  Release numbers were set back to 1.0 and the
operating system was renamed UNIX/TS.  (The "TS" stands for time sharing.)
At the same time, MERT, a different operating system whose primary use was
to run a UNIX emulator, was renamed UNIX/RT (the "RT" stood for real time)
and also had its release numbers set back to 1.0.  The idea was that com-
patable releases of UNIX/TS and UNIX/RT would have the same release numbers.
UNIX/RT proceeded to bite the dust and the name of UNIX/TS gradually shifted
back to plain "UNIX".

USG started producing top level releases once a year.  Second level releases
were used to make features available as they were written.  Third level
releases were limited to bug fixes.  For example, UNIX 3.0 was followed by
UNIX 3.0.1, which was basicly UNIX 3.0 with a few bug fixes.  (It was also
followed by UNIX 3.1, which may or may not have come out before UNIX 3.0.1.)

The first two versions of USG UNIX that were release externally to AT&T
were UNIX 3.0.1 and UNIX 5.0.1.  They were called System III and System V
externally.  There were no systems named System I, II, and IV.

> System I was, approximately, PWB, which was released.

PWB UNIX was not developed by USG.  One of the goals enunciated in the
switch to the new release naming scheme was to eliminate the various special
versions of UNIX floating around.  SCCS was included in UNIX/RT 1.0.  The
PWB code didn't make it into USG UNIX until release 2.0.

I don't know much about the version of PWB UNIX that was released externally,
but I think that predated UNIX/TS 1.0 significantly, so there were probably
UNIX/TS 1.0 features not in the external version of PWB UNIX, as well as vice
versa.

> System II was an improved PWB, incorporating some useful
> things like a souped-up shell.

The Borne shell (which was in UNIX/TS 1.0) did not undergo any major changes
between UNIX/TS 1.0 and UNIX 5.0.

> Since "System V" has now
> become a magic marketing buzzword, the top-level numbering is absolutely
> frozen for external purposes, and all future releases will be V.something
> rather than VI, VII, etc.

The real horror is that the internal numbering system has been abandoned,
so that even those of us inside AT&T have to suffer with names like
"System V Release 2 Issue 2".  Does driving people up the wall with a
chaotic numbering scheme really encourage them to buy from AT&T?

> If you want to get a look at what System IV was like, check out the PDP11
> distribution of System V.  PDP11 SysV is really SysIV.

Not really.

> Although AT&T won't admit it in so many words, they effectively
> abandoned work on PDP11 Unix a long time ago.

Most new features made it to the PDP11.  The major exception is the news
object module format, which makes SDB possible.  SDB is a UNIX 3.0 feature
which did not make it to the PDP11.  The UNIX 4.0 and UNIX 5.0 releases
for the PDP11 were pretty complete.

> For example, although some of the SysV performance work wouldn't fit
> on the 11, *some* of it would.  None of it was applied to PDP11 SysV.

The PDP-11 uses hashing to implement the sleep/wakeup facility in the kernel
under System V.  I don't know of any other System V performance work that
was applied to the PDP11 (but then if it had been it would probably would not
have helped a machine the size of a PDP-11 much.)

>  The PDP11 SysV shared-memory stuff is also different from and
> incompatible with the regular SysV version.

Right, but it is present, which is a difference from UNIX 4.0.  The IPC
stuff was first released in UNIX 4.2.
				Kenneth Almquist
				ihnp4!houxm!hropus!ka	(official name)
				ihnp4!opus!ka		(shorter path)

guy@sun.UUCP (06/21/86)

> I don't know much about the version of PWB UNIX that was released
> externally, but I think that predated UNIX/TS 1.0 significantly, so there
> were probably UNIX/TS 1.0 features not in the external version of PWB UNIX,
> as well as vice versa.

The PWB/UNIX that was released externally was PWB/UNIX 1.0, which was a
V6-flavored system, rather than a V7-flavored system like the UNIX/TS line.

> Most new features made it to the PDP11.  The major exception is the news
> object module format, which makes SDB possible.  SDB is a UNIX 3.0 feature
> which did not make it to the PDP11.  The UNIX 4.0 and UNIX 5.0 releases
> for the PDP11 were pretty complete.

No; 3.0 had an object file format of the same flavor as that used by
Research UNIX, and it supported "sdb" by adding the N_STAB symbol table
entry type to hold debugger information.  The way the N_STAB symbols were
used, however, didn't support the new rules for structure member names, and
didn't support some other things.  The COFF debugger symbols do, so "sdb"
was fixed to support them.

I suspect the PDP-11 didn't support "sdb" either because 1) nobody bothered
changing the Ritchie compiler to generate N_STAB entries or 2) there wasn't
enough address space to support it.
-- 
	Guy Harris
	{ihnp4, decvax, seismo, decwrl, ...}!sun!guy
	guy@sun.com (or guy@sun.arpa)

mash@mips.UUCP (John Mashey) (06/21/86)

In article <513@hropus.UUCP> ka@hropus.UUCP (Kenneth Almquist) writes:
>.... generally accurate description of release history...
>
>PWB UNIX was not developed by USG.  One of the goals enunciated in the
>switch to the new release naming scheme was to eliminate the various special
>versions of UNIX floating around.  SCCS was included in UNIX/RT 1.0.  The
>PWB code didn't make it into USG UNIX until release 2.0.
>
>I don't know much about the version of PWB UNIX that was released externally,
>but I think that predated UNIX/TS 1.0 significantly, so there were probably
>UNIX/TS 1.0 features not in the external version of PWB UNIX, as well as vice
>versa.

Close, but not quite.
1) A bunch of us [Haight, Wehr, me] moved from PWB to USG in early 1977,
to help the merging process as noted.
2] Research was doing V7 at this time, and one of the additional goals of
ours, working with them, was to get V7 to have the facilities found needed
elsewhere, but in a more elegant fashion, given hindsight.  For example,
that's where environment variables (a drastic generalization of a PWB 
feature) and process accounting came from.)
3] Many PWB features actually did make it into UNIX/TS 1.0: the Acknowledgments
say: '...; a large part ot its contents is descended from the UNIX Programmer's
Manual-Sixth Edition...and the PWB/UNIX User's Manual...'  Specifically,
from PWB in that round were a) Numerous minor commands and command extensions,
b) A few system calls,  c) -MM and -MV macros, d) Miscellaneous functions.
4] The general goal was for UNIX/TS 1.0 to let the USG & PWB kernels merge at
the transition to a V7 base, while integrating such user-level features as
were easy to do and of general use.
5] PWB/UNIX 2.0 took the 1.0 base and added in some of the remaining features,
that took more time and were more work, like: SCCS, RJE, LEAP, etc, etc.
As noted, there never was a SYSTEM II; this was it, in some sense;
of course, it was the last PWB release.
6] PWB/UNIX 1.0 was what was released outside, way back.  This was too bad,
there was a 1.2 release that was substantially cleaned up and tuned;
this was probably the highest-performance V6 time-sharing version in
any widespread use.
-- 
-john mashey	DISCLAIMER: <generic disclaimer, I speak for me only, etc>
UUCP: 	{decvax,ucbvax,ihnp4}!decwrl!mips!mash, DDD:  	408-720-1700, x253
USPS: 	MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086

jsq@im4u.UUCP (John Quarterman) (06/22/86)

>The best picture I've seen is by John Quartermain (sp?)

There's actually no question about it:  you spelled it wrong.  :-)

>in the chapter on Unix in the *second* edition of
>the Peterson & Silberschatz book "Operating System Concepts".
>I think it's just what the patient ordered.
>-- 
>Larry McVoy

Glad you liked it.  However, there's a better version forthcoming in
``4.2BSD and 4.3BSD as Examples of the UNIX System'' by Quarterman,
Silberschatz, and Peterson in the December 1985 ACM Computing Surveys
(that's right:  forthcoming and 1985).  Those of you who are impatient
can try running the rest of this article through pic and ditroff.
No claims are made for accuracy or completeness of the information
or of its depiction.

PS:  this followup is going only to net.unix and I've directed further
responses there as well.

.KF
.nf
.ps -2
.PS
smallb = 0.5i
medb = 0.75i
bigb = 1i
biggerb = 1.5i
boxwid = smallb
boxht = smallb / 2
movewid = 0.5i

spacing=0.5i
sysv=spacing
mert=sysv + spacing
pwb=mert + spacing
cbunix= pwb + spacing
research=cbunix + spacing
v32=research + spacing
bsd4=research + (2 * spacing)
bsd2=bsd4 + spacing

boxwid = medb
D69: box invis "1969"
D73: box invis "1973"
boxwid = smallb
D76: box invis "1976"; move
D77: box invis "1977"; move
D78: box invis "1978"; move
D79: box invis "1979"; move
D80: box invis "1980"; move
D81: box invis "1981"; move
D82: box invis "1982"; move
D83: box invis "1983"; move
D84: box invis "1984"; move
D85: box invis "1985"
Label: box invis at D69

boxwid = smallb
V1: box invis "V1" at D69 + (0, research)
V5: box invis "V5" at D73 + (0, research)
V6: box invis "V6" at D76 + (0, research)
boxwid = bigb
V7: box "Version 7" at D78 + (0, research)
arrow from V1.e to V5.w
arrow from V5.e to V6.w
arrow from V6.e to V7.w

boxwid = smallb
V32: box invis "32V" at 1/4 <D78, D79> + (0, v32)
boxwid = bigb
V8: box "Version 8" at D83 + (0, v32)
arrow from V7.n to V32.s
arrow from V32.e to V8.w
arrow right from V8.e

"\fIBell Research\fP" ljust at Label + (0, research + (v32 - research) / 2)

boxwid = smallb
PWB: box invis "PWB" at 1/2 <V6, V7> + (0, pwb - research)
arrow from V6.s to PWB.nw
U30: box invis "3.0" at 1/2 <D79, D80> + (0, pwb)
arrow from V32.se to 4/5 <PWB, U30>
arrow from V7.sw to 1/2 <PWB, U30>
U40: box invis "4.0.1" at D81 + (0, pwb)
U301: box invis "3.0.1" at 1/2 <U30, U40>
U50: box invis "5.0" at D82 + (0, pwb)
U52: box invis "5.2" at D83 + (0, pwb)
U524: box invis "5.2.4" at D84 + (0, pwb)
arrow from PWB.e to U30.w
arrow from U30.e to U301.w
arrow from U301.e to U40.w
arrow from U40.e to U50.w
arrow from U50.e to U52.w
arrow from U52.e to U524.w
arrow right from U524.e

boxwid = bigb
CBUNIX: box invis "CB UNIX" at PWB + (0, cbunix - pwb)
arrow from 1/4 <V6, V7> to CBUNIX.n
spline -> from CBUNIX.e to U301 + (0, cbunix - pwb) then to 1/2 <U301, U40>

"\fIBell Columbus\fP" ljust at Label + (0, cbunix)

boxwid = medb
MERT: box invis "MERT" at PWB + (0, mert - pwb)
boxwid = bigb
UNIXRT: box invis "UNIX/RT" at D78 + (0, mert)
arrow from V6.s to MERT.nw
arrow from MERT.e to UNIXRT.w
arrow from UNIXRT.ne to 3/4 <PWB, U30>

boxwid = bigb
SysIII: box "System III" at D82 + (0, sysv)
SysV: box invis "System V" at D83 + (0, sysv)
oldht = boxht
boxht = oldht * 2
SysV2: box "System V" "Release 2" at D84 + (0, sysv)
boxht = oldht * 3
SysV24: box dotted "System V" "Release 2" "Version 4" at D85 + (0, sysv)
boxht = oldht
arrow from U301.se to SysIII.n
arrow from U50.se to SysV.n
arrow from U52.se to SysV2.n
arrow from U524.se to SysV24.n

"\fIUSG / USDL\fP" ljust at Label + (0, sysv + (pwb - sysv)/2)

boxwid = smallb
BSD3: box invis "3BSD" at 1/2 <D78, D79> + (0, bsd4)
arrow from V32.n to BSD3.s
boxwid = medb
BSD40: box invis "4.0BSD" at 1/2 <D79, D80> + (0, bsd4)
BSD41: box "4.1BSD" at 1/2 <D80, D81> + (0, bsd4)
BSD42: box "4.2BSD" at 1/2 <D83, D84> + (0, bsd4)
BSD41A: box invis "\s-14.1aBSD\s0" at 1/3 <BSD41, BSD42>
BSD41C: box invis "\s-14.1cBSD\s0" at 2/3 <BSD41, BSD42>
BSD43: box dotted "4.3BSD" at 1/2 <D84, D85> + (0, bsd4)
arrow from BSD3.e to BSD40.w
arrow from BSD40.e to BSD41.w
arrow from BSD41.e to BSD41A.w
arrow from BSD41A.e to BSD41C.w
arrow from BSD41C.e to BSD42.w
arrow from BSD42.e to BSD43.w
arrow right from BSD43.e

arrow from 1/5 <V32, V8> to BSD41.sw

boxwid = smallb
BSD1: box invis "1BSD" at 1/2 <V6, V7> + (0, bsd2 - research)
BSD2: box invis "2BSD" at V7 + (0, bsd2 - research)
boxwid = medb
BSD28: box invis "2.8BSD" at D82 + (0, bsd2)
BSD29: box invis "2.9BSD" at D83 + (0, bsd2)
arrow from V6.n to BSD1.s
arrow from BSD1.e to BSD2.w
arrow from BSD2.e to BSD28.w
arrow from BSD28.e to BSD29.w
arrow right from BSD29.e

arrow from BSD2.s to BSD3.n
arrow from BSD41.ne to BSD28.sw
arrow from 1/2 <BSD41A, BSD41C> to BSD29.sw

"\fIBerkeley\fP" ljust at Label + (0, bsd4 + (bsd2 - bsd4)/2)

arrow from BSD41.se to 3/4 <V32, V8>
arrow from BSD41.s to U50.n

boxwid = medb
box dashed "PDP-11" at BSD1 + (-1, 0)
boxwid = smallb
box dashed "VAX" at 1/2 <V32, BSD3> + (-1, 0)
boxwid = medb
box dashed "PDP-11" at PWB.w + (-1, 0)
boxwid = biggerb
box dashed "PDP-11 / VAX" with .ne at 1/2 <U30, SysIII>

.PE
.ps +2
.FI "UNIX History"
.fi
.KE
.GI
-- 
John Quarterman, UUCP:  {gatech,harvard,ihnp4,pyramid,seismo}!ut-sally!im4u!jsq
ARPA Internet and CSNET:  jsq@im4u.UTEXAS.EDU, jsq@sally.UTEXAS.EDU

simon@cstvax.UUCP (Simon Brown) (06/23/86)

In article <513@hropus.UUCP> ka@hropus.UUCP writes:
--- ... PDP11 SysV vs. `real' SysV ...
>Most new features made it to the PDP11.  The major exception is the news
>object module format, which makes SDB possible.  SDB is a UNIX 3.0 feature
>which did not make it to the PDP11.  The UNIX 4.0 and UNIX 5.0 releases
>for the PDP11 were pretty complete.
>

But they don't have sxt devices for the pdp11, so no job-control!

-- 

			-------------------------------------------------
			| Simon Brown,	Dept. of Computer Science,	|
			|		Edinburgh University		|
			| ...!mcvax!ukc!cstvax!simon			|
			-------------------------------------------------

henry@utzoo.UUCP (Henry Spencer) (06/26/86)

> > Although AT&T won't admit it in so many words, they effectively
> > abandoned work on PDP11 Unix a long time ago.
> 
> Most new features made it to the PDP11...

But there weren't all that many new features.  A lot of what was new was
the performance work, which did *not* make it.

> > For example, although some of the SysV performance work wouldn't fit
> > on the 11, *some* of it would.  None of it was applied to PDP11 SysV.
> 
> The PDP-11 uses hashing to implement the sleep/wakeup facility in the kernel
> under System V...

It did under V7 too; this is nothing new.

> I don't know of any other System V performance work that
> was applied to the PDP11 (but then if it had been it would probably would not
> have helped a machine the size of a PDP-11 much.)

Nonsense.  Things like inode hashing make quite a substantial difference,
and are easy to put in, if anyone had bothered to *try*.  As for "the size
of a PDP-11"...  an 11/44 is fully the equal of a 750 on anything that
doesn't hit address-space problems, and an 11/70 approaches a 780.  The
neglect of the 11 was not because the machines wouldn't benefit from it,
but because AT&T had, as I indicated, effectively abandoned the 11.  (I
don't *blame* them, given how hard the address-space problem hits the
kernel, but they should stop lying about it.)

> > ... PDP11 SysV is really SysIV.
> 
> Not really.
> 
> >  The PDP11 SysV shared-memory stuff is also different from and
> > incompatible with the regular SysV version.
> 
> Right, but it is present, which is a difference from UNIX 4.0.  The IPC
> stuff was first released in UNIX 4.2.

I wasn't claiming that PDP11 SysV was identically equal to 4.00000, but
that it was largely one of the 4's, not really a 5.  (I should have been
clearer about this.)
-- 
Usenet(n): AT&T scheme to earn
revenue from otherwise-unused	Henry Spencer @ U of Toronto Zoology
late-night phone capacity.	{allegra,ihnp4,decvax,pyramid}!utzoo!henry