below.. in-line
On Sat, Mar 7, 2020 at 7:18 AM Paul Ruizendaal <pnr(a)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.
Paul
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(a)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
file
system.
The implementation of both is pretty straight-forward. A pipe is just a
file
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
system.
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