From mboxrd@z Thu Jan 1 00:00:00 1970 From: wkt@tuhs.org (Warren Toomey) Date: Wed, 4 Jan 2017 08:04:07 +1000 Subject: [TUHS] Pipes in the Third Edition Unix In-Reply-To: <20170103215310.GA26242@minnie.tuhs.org> References: <20170103215310.GA26242@minnie.tuhs.org> Message-ID: <20170103220407.GA29268@minnie.tuhs.org> On Wed, Jan 04, 2017 at 07:53:10AM +1000, Warren Toomey wrote: > The Third edition was still written in assembly code. The Fourth edition > was the first to be rewritten in C. So there was a time when both > existed in parallel. I should have waited to add this. The nsys kernel is dated August 31, 1973 (see http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v3/Readme.nsys) and the Third Edition manuals are dated February 1973 (see http://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man0/intro) The 3e manuals have a pipe syscall: http://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man2/pipe.2 so pipes existed in February 1973. In fact, they existed as early as January 15, 1973, as Doug McIlroy put out the notice for a talk which described the state of UNIX at that time; page 4 describes SYS PIPE and its implementation, (see http://www.tuhs.org/Archive/Documentation/Papers/Unix_Users_Talk_Notes_Jan73.pdf) Interestingly, the pipe manpage says: SYNOPSIS sys pipe / pipe = 42.; not in assembler and I don't quite understand the comment :-) Other manpages with the same comment are boot(2), csw(2), fpe(2), kill(2), rele(2), sleep(2), sync(2) and times(2). So it's not particular to pipe(2). Can anybody help explain the "not in assembler" comment? Thanks, Warren