posted 14 years ago
There's plenty of good literature on inodes and their functions, but the key thing is that it's different from DOS/Windows. In DOS, the directory referred directly to a file. In Unix/Linux, it's the inode that does that. The directory is basically a name/value pairing that associates an inode with a filename (along with some other things, like access rights).
The main consequences are
1. Multiple filenames in multiple directories can refer to the same file (hard links) as long as it's on the same device (inodes are not unique between different devices).
2. Locking is done on inodes, and not on directories. Which is one of the main reasons why Windows has "reboot fever" - Windows locks on the filename. In Unix/Linux, you can assign a new inode (file) to a directory entry, and running apps will continue to use the old file (usually), but new references will be via the new inode. So all that's required to update a system resource is to assign a new inode and restart the software that references that file. Instead of the whole OS.
I think I had a third item, but I've forgotten it already.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.