Subject: Re: Dating the addition of pipes in UNIX (etc.)

From: [email-masked]
Date: Mon, 18 Jan 1999 23:40:01 -0500

I thought I sent congratulations on the getting the nsys
kernel not only to boot but do ls.  If not, congratulations!
Do record the changes that were made.

I don't know who now has copies of the audio tapes from
the oral history thing.  Originals would be either in the Lucent
or AT&T archives; I suspect Mahoney has copies, given that
this was worked over again a year ago.  Mahoney's somewhat
secret web site has the transcripts in HTML.  I'm working out with
him and the Bell Labs PR group how best to make them available.

The "2nd Edition" Dectape that McKie got was almost certainly
a boot tape with a system image and a couple of utilities.
(I just showed him what I have and asked).

Hunting the <=4th edition: remember that it was only starting
with the 5th edition system that there was any kind of collected
entity that was coordinated with a manual.  We produced
several manuals, each with a nominal date,
 describing a current state of things, but prepared over several
months; what actual software people got was a copy of our disk
at the instant they visited.
It was almost always on RK03/RK05 disk packs, not magtape.
Nice if one of these disk packs could be found and read.

Proper dating of these things is hard.  You observe correctly that
"sys pipe" was anticipated on the "nsys" system but not implemented.
I'm a bit doubtful on the clean-looking Jan 22 1973 date on "nsys".
I might have botched the interpretation of the bytes in the date field,
and also there is even a year-off possibility because we changed
epochs more than once and rewrote some of the existing DECtapes
to reflect this.

Best reconstruction:  During 1972, Ken finally puts pipes into Unix
at McIlroy's urging--one of the interesting parts of the Oral History
transcripts is

  MSM: I do want to talk about pipes, because Ritchie says in his retrospective that,
  not only was it your suggestion, but indeed, he suggests, at your insistence.

  McIlroy: That is one of the only places where, I very nearly exerted managerial
  control over UNIX, in pushing for those things.  Yes.

Kind of simultanenously, Ken did two tries at a C version of the system,
once probably during maybe 1972, then in 1973.  The first was abortive and
leaves no trace.  Difficulties were partly
because he had trouble with design of the process-exchange/coroutining
primitives, also because structures weren't in C yet.  In 1973 he tried
again.  If the dates on the "nsys" tape are understood right and believed,
this was early in the year.

I'm pretty sure that we didn't adopt it as
the standard "production" system until about September 1973.  It is
very likely that the real "sys" was still in assembler.   Pipes were probably
added first to this version, given the evidence in "nsys."

	Dennis

---

From: Warren Toomey <wkt>
Date: Tue, 19 Jan 1999 15:52:57 +1100 (EST)

> Do record the changes that were made.

Thanks Dennis, the attached PostScript file I sent you has details of
the changes. I was worried that my email hadn't reached you; glad it did.

I've also been reading through the papers in the AT&T Bell Laboratories
Technical Journal Vol 63, No 8, Part 2, October 1984. They have helped
to answer some/most of the questions that I had asked you.

I don't personally own either of AT&T Bell Laboratories Technical Journal
Vol 63, No 8, Part 2, October 1984, or The Bell System Technical Journal 
Vol 57, No 6, Part 2, July-August 1978. Does Lucent sell back-copies?
This might be an idea for the 30 years celebration.

> Mahoney's somewhat

Excellent.
 
> (I just showed him what I have and asked).

Even that would be a useful addition to the archives. I can't promise
that I can boot it, this time :-) I assume this is either the tape
`s2' or `unix' that you mentioned previously in your email.
 
> entity that was coordinated with a manual. ...

Do you think it would be worth approaching these institutions, anyway?
They might have made, and kept, backup tapes.
 
> epochs more than once and rewrote some of the existing DECtapes

In that case, would you be prepared to send your tap-reading program,
and the tap tape image of `nsys' (and any other tap images) for me to
peruse? I've already  written a tp(1) format reader by reverse-engineering
the tp format.
 
> I'm pretty sure that we didn't adopt [the C version of UNIX] as

I suspected that you would have done development in parallel, and although
this is not explicitly stated, I formed that impression while reading
through the BSTJ Vol 63, No 8.

Many thanks again for replying to my intrusions.

	Warren