[TUHS] Pipes in the Third Edition Unix

Noel Chiappa jnc at mercury.lcs.mit.edu
Wed Jan 4 09:52:14 AEST 2017

    > From: Clem Cole

    > You might say something like: Pipe's were developed in a 3rd edition
    > kernel, where there was is evidence of nascent idea (its has a name and
    > there are subs for it), but the code to fully support it is lacking in
    > the 3rd release. Pipes became a completed feature in the 4th edition.

To add to what others have pointed out (about the assembler and C kernels),
let me add one more data-bit. In the Unix oral histories done by Michael S.
Mahoney, there's this:

  McIlroy: .. And on-e day I came up with a syntax for the shell that went
  along with the piping, and Ken said, "I'm going to do it!" He was tired of
  hearing all this stuff, and that was - you've read about it several times,
  I'm sure - that was absolutely a fabulous day the next day. He said, "I'm
  going to do it." He didn't do exactly what I had proposed for the pipe
  system call; he invented a slightly better one that finally got changed
  once more to what we have today. He did use my clumsy syntax. 

  He put pipes into Unix, he put this notation [Here McIlroy pointed to the
  board, where he had written f > g > c] into shell, all in one night. The next
  morning, we had this - people came in, and we had - oh, and he also changed
  a lot of - most of the programs up to that time couldn't take standard
  input, because there wasn't the real need. So they all had file arguments;
  grep had a file argument, and cat had a file argument, and Thompson saw
  that that wasn't going to fit with this scheme of things and he went in and
  changed all those programs in the same night. I don't know how ... And the
  next morning we had this orgy of one-liners.

So I don't think that suggested text, that it was added slowly, is
appropriate. If this account is correct, it was pretty atomic.

It sounds more the correct answer to the stuff in the source is the one
proposed, that it got added to the assembler version of the system before it
was done in the C version.


More information about the TUHS mailing list