From Tanenbaum's Modern Operating Systems, when trying to access a file in a ext2 file system in Linux, and then reaching the parent directory of the file,
If the file is present, the system extracts the i-node number and uses it as an index into the i-node table (on disk) to locate the corresponding i-node and bring it into memory. The i-node is put in the i-node table, a kernel data structure that holds all the i-nodes for currently open files and directories.
Are there two different inode tables mentioned?
Is the first inode table stored somewhere in the disk? Where is it stored? See the layout of a disk, a partition, and a file system below from the same book.
Is it a mapping from the inode numbers to the inode addresses?
Is the second inode table stored in the main memory?
Is it a mapping from what to the inodes?