My teacher said that each physical disk has a table of i-nodes, after which there is the files' data.
Isso está correto no geral. Mais precisamente, há uma tabela de inodes em cada sistema de arquivos, e há um sistema de arquivos separado em cada partição. (As coisas podem ficar mais complicadas, mas não precisamos entrar nessas complicações aqui.)
A tabela de inodes de um sistema de arquivos mapeia números de inodes para os metadados do arquivo . Normalmente, é uma grande variedade de estruturas de tamanho fixo. Por exemplo, o elemento número 1234 desta matriz é o número do inode 1234. O inode contém informações como as permissões do arquivo, seu horário de modificação, um tipo de arquivo, etc., além de uma indicação de onde o conteúdo do arquivo está localizado. p>
But, on the Internet, I found that each directory has its own table of the inodes and names associated to the files inside it.
Essa é uma tabela que mapeia nomes de arquivos para números de inodes . Ou seja, o diretório é uma lista de entradas (ou alguma estrutura de dados mais sofisticada) e cada elemento da lista contém um nome de arquivo e um número de inode. Para localizar os metadados e o conteúdo do arquivo, o sistema lê o número do inode no diretório e lê a entrada designada na tabela de inode. Para encontrar um arquivo dado seu caminho, o sistema inicia com o inode raiz, descobre que é um diretório, localiza a entrada de diretório para o primeiro elemento, lê seu inode e assim por diante.
Note que este é um projeto típico para um sistema de arquivos, mas não o único possível. A maioria dos sistemas de arquivos orientados ao Unix segue esse design, mas existem outros designs.