Onde os nomes de arquivos são armazenados em um sistema de arquivos?
Não está no inode ou com o conteúdo real do arquivo, pois temos um link físico que dois nomes de arquivos podem apontar para o mesmo inode.
.
em si.
Onde os nomes de arquivos são armazenados em um sistema de arquivos?
Não está no inode ou com o conteúdo real do arquivo, pois temos um link físico que dois nomes de arquivos podem apontar para o mesmo inode.
.
em si.
Respostas:
Não encontrei uma duplicata adequada, então aqui está uma resposta para sua pergunta.
excerto
Nomes de arquivos e implicações de diretório:
- inodes não contêm nomes de arquivos, apenas outros metadados.
- Diretórios Unix são listas de estruturas de associação, cada uma das quais contém um nome de arquivo e um número de inode.
- O driver do sistema de arquivos deve procurar um diretório procurando um nome de arquivo específico e, em seguida, converter o nome do arquivo no número de inode correspondente correto.
Fonte: página da Wikipedia no Inode
Portanto, o nome do arquivo é armazenado na estrutura de informações dos diretórios. Por exemplo:
excerto
No sistema de arquivos EXT2, diretórios são arquivos especiais que são usados para criar e reter caminhos de acesso aos arquivos no sistema de arquivos. A Figura 9.3 mostra o layout de uma entrada de diretório na memória.
Um arquivo de diretório é uma lista de entradas de diretório, cada uma contendo as seguintes informações:
- inode - o inode para esta entrada de diretório. Este é um índice na matriz de inodes mantidos na Tabela de Inodes do Grupo de Blocos. Na figura 9.3, a entrada de diretório para o arquivo chamado file tem uma referência ao número do inode i1,
- comprimento do nome - o comprimento desta entrada do diretório em bytes,
- nome - O nome desta entrada de diretório.
As duas primeiras entradas para cada diretório são sempre o padrão
.
e as..
entradas que significam "este diretório" e "o diretório pai", respectivamente.
Aqui estão as referências da Figura 9.3 acima:
Fonte: O Projeto de Documentação Linux: Sistema de Arquivos
O nome do arquivo é armazenado no respectivo diretório ("arquivo de diretório"). Esta entrada aponta para um inode.
Nome do arquivo é armazenado na estrutura de dados "diretório" que possui "(string) nome do arquivo" e o correspondente "(int) inode". O diretório é responsável pelo mapeamento do nome do arquivo -> inode. e no ode é responsável pelo mapeamento do inode -> setor no disco.