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. Heinz 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 > 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 > 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 >