so there 3 questions that I'm really confused, anyone familiar with unix want help? 1. Each file system in UNIX has at least one table that identifies file in it, the entries are called i-nodes.where are these inodes resides?(location) 2. What operation would cause the i-nodes of a file, say "myfile", be copied to kernel memory? 3. Disk parition bring a number advantage to Unix system, such as more control of security and more efficient operation. Is there a disadvantage for disk parition? example?
Homework assignment? The concept of inodes (not i-nodes) is really simple. There are directories, and each entry has a pointer to the inode for that file or sub-directory. The file system keeps multiple copies of the inode trees (protected with a checksum) so if one gets munged, the system is still able to recover the file system. This is very robust. Each inode has a link count, incremented when the file created, is opened, or hard-linked to another directory (soft-links don't count). If you delete a file/directory, the inode link count is decremented and the entry is removed from the directory that contained it. However, the file itself is not removed until all links are removed. This is what allows Unix/Linux to update things like shared libraries without needing to reboot the system (unlike Windows), because applications that are using those libraries will still be connected to the old versions until they are shut down, closing the file and decrementing the link count. Only after all links are removed will the file or directory be physically removed from the file system.