[TUHS] First appearance of named pipes

Heinz Lycklama heinz at osta.com
Sat Mar 7 15:08:35 AEST 2020

Clem, you are correct. mknod() was used in the /usr/group standard in 1984.
mkfifo() and mkdir() were part of the IEEE Trial Use Standard in 1986, 
as well
as the adopted IEEE Std 1003.1-1988 (POSIX) standard.


On 3/6/2020 1:10 PM, Clem Cole wrote:
> BTW:  My memory is that Joy did not like them for some reason, 
> probably because they were not as sexy as some of the stuff Accent 
> could do (but that's a guess -- I've forgotten).  So with 4.2, Joy 
> created Unix domain sockets.
> BTW: a slow cache refresh is occurring in my brain ... I remember one 
> of the things that there was a lot of arguing/moaning about at the 
> time was the directionality of such a feature.  Bruce's hack from the 
> mid-70s was unidirectional and you needed two pipes to go both ways.
> On Fri, Mar 6, 2020 at 4:06 PM Clem Cole <clemc at ccc.com 
> <mailto:clemc at ccc.com>> wrote:
>     The first version was from Rand (called "Rand Pipes").   They
>     certainly were available in the mid-70s on Sixth Edition, you have
>     to ask someone like Bruce Borden if they were on Fifth.  I think
>     the code is on one of the 'USENIX' tapes in Warren's archives.
>     At this point in time, someone would need to refresh my memory of
>     the details of Rand's implementation compared to what came in the
>     USG systems in the 1980s.   For instance, I believe the early
>     versions used mknod(2) to create the "named entity."   IIRC early
>     USG did that too, and mkfifo(3) came as part of the POSIX (I have
>     memories of the discussion at a POSIX meeting, but as I say, I've
>     forgotten the details).
>     IIRC there were differences in buffering behavior, flushing, error
>     path between USG's later versions and the original Rand, but I'd
>     have to stare at the code again to remember.
>     On Fri, Mar 6, 2020 at 3:42 PM Paul Ruizendaal <pnr at planet.nl
>     <mailto:pnr at planet.nl>> wrote:
>         The Luderer paper on distributed Unix has the following paragraph:
>         "A new special UNIX interprocess communication mechanism is
>         the fifo, which provides communication between unrelated
>         processes by associating a new special file type with a file
>         name. Since remote fifos are legal, they can be used for
>         interprocessor communication between S-UNIX machines or
>         between an S-UNIX machine and an F-UNIX machine.”
>         The paper is from late 1981. Maybe I’m especially mud-eyed
>         today, but I cannot see FIFO’s implemented in V7..V8 or
>         4.1xBSD. When did FIFO’s become a standard Unix feature?
>         Paul

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20200306/1e155f2e/attachment.html>

More information about the TUHS mailing list