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.…)
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_Jan7…)
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