Os arquivos são definidos por seus blocos de conteúdo, inodes, ambos ou nomes de arquivos?

4

Os arquivos são definidos por seus blocos de conteúdo, inodes, ambos ou nomes de arquivos ou outra coisa? Fundamentalmente, qual é a definição de um arquivo?

Por exemplo

dois hard links podem compartilhar o mesmo inode e, portanto, blocos de conteúdo, mas eles têm nomes de arquivos diferentes. Eles são considerados o mesmo arquivo ou arquivos diferentes?

Existem alguns arquivos que possuem inodes diferentes, mas o mesmo bloco de conteúdo? Eles são considerados o mesmo arquivo?

Obrigado.

    
por Tim 07.05.2015 / 00:50

2 respostas

3

Estou assumindo que estamos discutindo arquivos "regulares", não arquivos de dispositivos ou soquetes de domínio unix ou algo não tão regular assim.

Eu diria que os arquivos têm nomes, metadados e dados.

Isto corresponde diretamente a nomes de arquivos, inodes e blocos.

Acredito que seus dois nomes de arquivos com link físico sejam apenas dois nomes para um único arquivo.

Eu não acredito que sob Unix ou Linux ou * BSD, você pode ter dois inodes referenciando os mesmos blocos de dados sem algum tipo de intervenção muito incomum. Um programa suid poderia potencialmente abrir o arquivo de dispositivo de um disco e manipular dois inodes para apontar para os mesmos blocos de dados, mas eu sinceramente duvido que a situação possa surgir organicamente.

    
por 07.05.2015 / 01:30
3

Nomes de arquivos são usados para procurar inodes. Nada mais. Inodes são o ponto principal para referenciar um arquivo. Afile pode não ter nenhum bloco de dados se ele for de tamanho zero ou se for pequeno o suficiente para caber na porção blocklist do inode e o sistema de arquivos tiver essa otimização. Se houver dois hard links apontando para um inode, ainda é um arquivo, ele tem mais de um nome. Isso permite que você faça coisas como renomear e excluir arquivos abertos. Isso torna muito mais fácil atualizar o software em um sistema em execução, ao contrário do Windows, em que o identificador principal é o nome do arquivo e é necessário reinicializar após cada atualização para substituir os arquivos em uso.

    
por 07.05.2015 / 02:07

Tags