Ian Zimmerman writes:
This question is motivated by the posters for whom
FreeBSD is not Unix
enough :-)
Probably the best known contribution of the Berkeley branch of Unix is
the sockets API for IP networking. But today, if for no other reason
than the X/Open group of standards, sockets are the preferred networking
API everywhere, even on true AT&T derived UNIX variants. So they must
have been merged back at some point, or reimplemented. My question is,
when and how did that happen?
And if there isn't a simple answer because it happened at different
times and in different ways for each variant, all the better :-)
Maybe this is naive of me, but I have never liked parts of the sockets
interface. I understand that at some level it was a political/legal
keeping the networking code independent of the rest of the kernel.
From a technical and historical standpoint, I view it
as the tip of
the iceberg bloating the number of system calls.
In particular, I have often thought that it would have been a better
and more consistent with the philosophy to have it implemented as
open("/dev/tcp") and so on. Granted that networking added some new
functionality that justified some of the system calls, just not socket().
Comments?
Jon