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