3 ms·
> Namely it was. From 1970 to 1983 when sockets came. Are network interfaces files? Routing tables? I have not counted, but there should be numerous system call
by exikyut 8y ago
> Namely it was. From 1970 to 1983 when sockets came. Are network interfaces files? Routing tables? I have not counted, but there should be numerous system calls do not take a single file descriptor parameter. And even those who take one, the object behind the file descriptor is often not discoverable in the filesystem.
Good point. Plan 9 re-encapsulated everything, I think, but no other UNIX has done so.
I kind of didn't really factor this in, I guess I conveniently forgot about sockets in the mental model I was using to reason with in my previous comment.
So, that means the complexity train will just move forward, I guess. This exists now, it's presumably not the end of the world, and yay now I have more things to remember about Linux internals.
My two quibbles that remain are that
- this is not easily discoverable (yay) or (currently) able to be visualized, so people's understanding of this will depend on their mental modelling being good
- no, everything isn't a file, but we just moved closer to "everything's a file isn't really a file though", because this messes around with what's left of that idea, in spite of the fact that yes there's not much left of the concept.
TIL about lsns, although it isn't listing all the groups I have (I made a memory namespace earlier to contain some processes, and it's not showing up in sudo lsns, heh).
- usr1106 8y ago> I made a memory namespace earlier to contain some processes, and it's not showing up in sudo lsns, What kernel do you run? I have never heard about memory namespaces. And http://man7.org/linux/man-pages/man7/namespaces.7.html http://man7.org/linux/man-pages/man7/namespaces.7.html neither. Did you possibly mean memory cgroups? Obviously lsns doesn't show them. I don't know a tool that gives a good overview over cgroups at one glance. I have used custom scripts based on find /sys/fs/cgroup/ -name tasks in the past.
- exikyut 8y ago_Whoops_, I completely conflated cgroups and namespaces, thanks :)