Linux is closer than other *nixes (sysctl equivalents in some platforms are not files, but they are files in Linux).
However get very far into network and the file-like behaviors become more limited. From an application, at least you have a decent chance of having unseekable, but otherwise ‘file-like’ interaction with stream protocols. Then you need recvmsg/sendmsg. Then you want to deal with low level interaction with the network stack and dealing with NETLINK and such…
Missing stage 7: Not everything is a file.
Linux is closer than other *nixes (sysctl equivalents in some platforms are not files, but they are files in Linux).
However get very far into network and the file-like behaviors become more limited. From an application, at least you have a decent chance of having unseekable, but otherwise ‘file-like’ interaction with stream protocols. Then you need recvmsg/sendmsg. Then you want to deal with low level interaction with the network stack and dealing with NETLINK and such…
That’s where plan9 comes in!
Yes, the “did I stutter?” If everything is a file philosophy.