A estrutura de dados do inode contém o endereço real do arquivo no disco?

A estrutura de dados do inode contém o endereço real do arquivo no disco?

Atualmente estou aprendendo sobre o sistema de arquivos Linux. Eu aprendi o seguinte até agora:

  • Um diretório é apenas um arquivo que contém as seguintes informações: os nomes dos arquivos e seus números de inode.
  • Existe uma tabela de inodes que contém uma estrutura de dados para cada número de inode. Esta estrutura de dados contém informações como ID do proprietário, ID do grupo, tamanho do arquivo, etc.

Agora, a estrutura de dados do inode também contém o endereço real do arquivo no disco ou contém apenas o endereço de alguma outra estrutura de dados que conhece o endereço real do arquivo no disco?

Responder1

Isso depende do tipo de sistema de arquivos. No entanto, na maioria dos sistemas de arquivos, o inode (ou dinode) conterá os endereços dos primeiros blocos de dados (chamados de "bloco direto") e, em seguida, para arquivos maiores, os endereços dos "blocos indiretos" que armazenam ponteiros para blocos de dados adicionais.

VerInode_pointer_estruturapágina da Wikipedia para mais detalhes.

Para fins de aprendizado, eu recomendaria examinar o sistema de arquivos UFS, que possui uma estrutura relativamente simples. VerEstrutura de diodo UFS, especificamente di_dbe di_ibpara ponteiros para blocos diretos e indiretos.

informação relacionada