[TUHS] First appearance of named pipes
clemc at ccc.com
Sat Mar 7 23:29:05 AEST 2020
On Sat, Mar 7, 2020 at 7:18 AM Paul Ruizendaal <pnr at planet.nl> wrote:
> Thanks for the feedback, all.
> Rand ports were done in 1977 by Sunshine/Zucker. I’ve only come across
> Rand Ports in the context of V6 and the Arpa crowd 1977-1981. I’ve never
> seen a reference to Rand Ports on V7 or later. This of course does not mean
> that it did not exist.
Steve Glaser hacked was playing with them at Tektronix in 1979, as he had
put them into their V6 system before I got there IIRC. I switched the
user code to use Chesson's MPX in V7, which is why I think they never were
used much in V7.
I've forgotten what Bruce used for UNET - I'm CC'ing him here, hoping to
jog his memory.,
> I’ve dug further, and it would seem that named pipes under the name ‘fifo’
> appeared first in SysIII (1980). That matches with Luderer’s remark. It
> does not seem to exist in the Research editions. It only appears in BSD in
> the Reno release, 1990. All in all, it would seem that ‘fifo’s were a SysV
> thing for most of the 80’s, with the BSD lineage using domain sockets
> instead (as Clem mentioned).
Yes, that's right. And if you were someone like Masscomp or Pyramid trying
to thread both systems, we had both in our kernels.
> Interestingly, Luderer also refers to a 1978 paper by Steve Holmgren (one
> of the Arpa Unix authors), suggesting ’sockets’ (in today’s parlance) for
> interproces communication.
> PS really nobody on the list recalls Luderer's (et al.) distributed Unix
> and how it related to other work ??
> > On 6 Mar 2020, at 23:44, Noel Chiappa <jnc at mercury.lcs.mit.edu> wrote:
> >> From: Paul Ruizendaal
> >> The paper is from late 1981. ... When did FIFO's become a
> >> standard Unix feature?
> > Err, V4? :-) At least, that's when pipes arrived (I think - we don't
> have V4
> > sources, but there are indications that's when they appeared), and a
> pipe is a
> > FIFO. RAND ports just allowed (effectively) a pipe to have a name in the
> > system.
> > The implementation of both is pretty straight-forward. A pipe is just a
> > which has a maximum length, after which the writer is blocked. A port is
> > just a pipe (it uses the pipe code) whose inode appears in the file
> >> From: Clem Cole
> >> I think the code is on one of the 'USENIX' tapes in Warren's archives.
> > Doc is here:
> > https://minnie.tuhs.org//cgi-bin/utree.pl?file=BBN-V6/doc/ipc
> > and sources for all that are here:
> > https://minnie.tuhs.org//cgi-bin/utree.pl?file=BBN-V6/dmr
> > https://minnie.tuhs.org//cgi-bin/utree.pl?file=BBN-V6/ken
> > (port.c is in 'dmr', not 'ken'where it should be).
> > Noel
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the TUHS