[mod.os] Networks and operating systems

darrell@sdcsvax.UUCP (02/13/87)

In article <2713@sdcsvax.UCSD.EDU> Eugene Miya writes

>Well Dave Clark came out here from MIT and gave a talk on why protocols
>perform poorly, I'll drop his viewgraphs by John.  He blasted the OS
>people for the "process-oriented" model of protocol implementation. (No
>pun intended with the Blast protocol.
>

With all respect to Dave Clark, I don't think that we (OS types) can
take the credit for the process-oriented model of protocol
implementation. But that's not what I wanted to mention.  A lot of
people are blaming OS designs for communications failures, using
arguments along the lines that you can't design a network into an
operating system designed before networking and get any kind of
performance out of it.

Over the past few years I have been thinking (I hope carefully) about
this, and have come to the conclusion that it is missing the point.
If we take the very narrow definition of an operating system kernel
than I claim that all of the support networks need in the kernel is no
more that than needed by any other kind of device.

That is, as far as the OS kernel is concerned, a network interface is
just another communications device, requiring a certain number of well
implemented primitive operations.

Whether you implement protocols in the kernel or out of the kernel
than becomes the same kind of religious argument that happens with any
other feature that can be implemented both in and out of the kernel,
that is:

1) There are systems where it makes sense to do it out of the kernel.

2) In a lot of systems you'll do it in the kernel merely for
efficency.

The important feature is that we have now demystified communications
and restored it to is proper position, as another important feature of
an operating system, but not the most important.