Inter-machine networking on System V

Doug Gwyn gwyn at smoke.BRL.MIL
Fri Feb 10 07:20:30 AEST 1989


In article <7666 at chinet.chi.il.us> les at chinet.chi.il.us (Leslie Mikesell) writes:
>Would you multiplex a single stream in user code otherwise or open
>two virtual circuits?  Does this require a process per stream at the
>remote end?  What about file descriptors > 2?  

As I said, at that point it's getting more complex than I would recommend
dealing with in user mode.  In fact, a lot of this stuff cannot be done
properly without cooperation of the system object allocator (e.g. UNIX
kernel).  In fact, most existing UNIX implementations can't do it right
without really radical kernel modification!  Streams provide the
foundation for doing a good job of this, but the original discussion was
about portable approaches.  Streams are unfortunately not universal, and
OSF seems determined to keep it that way.

User-mode multiplexing is not unheard of; it's how our Blit-descendant
terminals operate in layers mode on 4BSD-based systems.  But context
switch overhead is excessive.

If you have multiple virtual circuit capability, use it.  Somewhere
in the underlying implementation there will very likely be code that
multiplexes the circuits onto a single physical link anyway.  The idea
is to take advantage of the work that somebody else has already invested
in figuring out the optimal way to implement such things, rather than
doing it yourself.



More information about the Comp.unix.questions mailing list