> On Aug 12, 2022, at 1:08 PM, Dave Mitton via cctalk <cctalk@classiccmp.org>
> wrote:
>
> Okay,
>
> The issue I don’t understand, I guess a matter of not understanding Linux
> internals, is why does “the kernel” require explicit DECnet support?
>
> I built DECnet-DOS without any cooperation from Microsoft. Or
> PathWorks for Windows 95 was built on top of published APIs.
>
> Why does a modern OS need stuff built in?
>
>
> Dave.
It depends on whether you want to hook into existing system APIs (such as, in
this case, the socket API). And if yes, whether that API is designed to be
extensible.
For example, in Linux as in most other operating systems, adding services that
look like device drivers is easy. In a lot of operating systems, adding
services that look like file systems is also doable because that API is
designed to be plugged into. But not all OS APIs are that way. Can a Linux
loadable module, without help from the core kernel code, define a new socket
address family, and tie into the socket API for sockets attached to that
family? I don't know. If yes, then indeed doing Linux doesn't require
explicit help from the core kernel. But if no, then it does -- or
alternatively the DECnet API becomes clunkier.
paul