On Fri, Mar 24, 2017 at 07:15:13AM +0000, shawn wilson wrote:
Everything is still a file.
Except for your network, of course -- that might have a file interface
available... provided by your shell. Because of course /dev/tcp should
be a shell feature. Why would anyone put that in the kernel?
Linux (and the wider later-unixlike world) is full of these bizarre
little
quirks -- due to the earlier-mentioned practicality. At first it was
people scratching their own itches, then it switched over to people
scratching corporate itches.
Does it work? Sure. But one of the things that makes a system
well-loved is consistent application of design principles. That's why
those weirdos mourned their LispMs (and why their emacs descendants tend
to live inside their text editor). It's why the plan 9 people won't
shut up about plan 9. And there are lots of examples of people singing
the praise of "everything's a file" -- and even that "open, read,
write,
close" specifically was enough to get things done.
Linux has around 400 system calls, and still supports just about ever
(userspace-exposed) syscall it has ever had. This is why it needs a
thousand little binary shims to get stuff done, and the push for systemd
was the pendulum swinging back the other direction. Since
open/read/write/close isn't enough, we'll build a layer to handle all
the weirdness, and now all you need is dbus...
But it sure boots fast!
khm