Not really an answer, but related.
When I arrived at Bell Labs mid-1980, Greg Chesson was hard at work on mpx.
When the Jerq/Blit work started up shortly after, we thought mpx would be
the answer. I even wrote two different window systems using mpx as the
controller, one of which was even itself called mpx, but the bugs in the
kernel implementation were just too disruptive, and soon dmr's streams (not
STREAMS - that was a shouty USG rename) proved the better, more robust
mechanism.
Other than some simple networking experiments, mpx(2) wasn't used much more
as far as I know, and the Jerq effort demonstrated why.
-rob
On Thu, Feb 9, 2023 at 9:41 AM Dan Cross <crossd(a)gmail.com> wrote:
The subject of Communication Files on DTSS came up
recently, and Doug
linked to this wonderful note:
https://www.cs.dartmouth.edu/~doug/DTSS/commfiles.pdf
Over on the Multicians list, I raised a question about the history of the
DTSS emulator on Multics in response to that, which sadly broke down into
antagonism, the details of which aren't terribly interesting. But Barry
Margolin suggested that the closest modern Unix analogue of Communication
Files were pseudo-TTYs, that had generated a dustup here. Doug's note
suggests that Plan 9's userspace filesystems, aided and abetted by mutable
namespaces and 9P as a common sharing mechanism, were a closer analogy.
But I wonder if multiplexed files were perhaps an earlier analogue; my
cursory examination of mpx(2) shows some similarities to the description of
the DTSS mechanism.
But I confess that I know very little about these, other than that they
seem to be an evolutionary dead end (they don't survive in any modern Unix
that I'm aware of, at any rate). I don't see much about them in my
archives; Paul Ruizendaal mentioned them tangentially in 2020 in relation
to non-blocking IO: they are, apparently, due to Chessen?
Does anyone have the story here?
- Dan C.