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

3

Atualmente, estou aprendendo sobre o sistema de arquivos do 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 inode que contém uma estrutura de dados para cada inode número. Essa 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?

    
por user228197 22.04.2017 / 22:25

1 resposta

2

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 "blocos diretos") e, em arquivos maiores, os endereços dos "blocos indiretos" que armazenam ponteiros para blocos de dados adicionais.

Veja Inode_pointer_structure página da wikipedia para mais detalhes.

Para fins de aprendizado, recomendo observar o sistema de arquivos UFS, que possui uma estrutura relativamente simples. Veja estrutura do diodo UFS , especificamente di_db e di_ib de ponteiros para blocos diretos e indiretos.

    
por 22.04.2017 / 22:48