On Aug 12, 2022, at 1:08 PM, Dave Mitton via cctalk
<cctalk(a)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