I read recently, that the concept of a pipe did not come about before UNIX version 3.
But since UNIX was always about simple programs, that do one thing, composed to do more complex things: How did they manage that, without pipes in the first place?
I read recently, that the concept of a pipe did not come about before UNIX version 3.
But since UNIX was always about simple programs, that do one thing, composed to do more complex things: How did they manage that, without pipes in the first place?
IO redirection was not present in the initial PDP-7 implementation (circa 1969) but was added very shortly thereafter. With that, you can implement the moral equivalent of a pipe:
prog1 | prog2
could be implemented with
prog1 > tempfile
prog2 < tempfile
rm tempfile
In fact, pipes are often explained using this model.
The paper The Evolution of the Unix Time-sharing System by Ritchie is highly recommended for early Unix history. It states, "Pipes appeared in Unix in 1972".