The "everything is a file" philosophy came from the original Unix, but didn't quite stay consistent when things like sockets were added later. Like Linux, BSD keeps its device info in /dev.
/proc doesn't come from Linux, it comes from plan9. The /proc in Linux is a weak knock-off, since Linux doesn't support per-process mount points the way plan9 does. I don't know about FreeBSD, but OpenBSD has a port of /proc roughly on par with Linux's.
/proc doesn't come from Linux, it comes from plan9. The /proc in Linux is a weak knock-off, since Linux doesn't support per-process mount points the way plan9 does. I don't know about FreeBSD, but OpenBSD has a port of /proc roughly on par with Linux's.