8Sep
Nós, ocasionalmente, atravessamos uma "situação" em nossos computadores que nos deixa completamente desconcertados, como um arquivo que tem um tamanho de zero, mas como isso é possível? O super-usuário do usuário Q & A publica as respostas para uma pergunta do leitor confuso.
Pergunta de hoje e amp;A sessão de atendimento chega a cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento comunitário de sites Q & A.
A questão
O leitor de superutilizador Eugene S quer saber como o tamanho de um arquivo pode ser zero:
Isso é algo que eu encontrei e não consegui pensar em uma explicação adequada. Se eu criar um vazio *. txt arquivo no meu computador e depois olhar para o tamanho dele, ele mostra um tamanho de zero. Como isso é possível? Quero dizer, mesmo que o próprio arquivo esteja vazio, ele ainda deve ter algum tamanho( mesmo que seja apenas para armazenar seu próprio nome).Como isso pode ser explicado?
Como é possível que um arquivo tenha um tamanho de zero?
A Resposta Os contribuidores
SuperUser David Schwartz e Cort Ammon têm a resposta para nós. Primeiro, David Schwartz:
É possível porque realmente não há nenhum arquivo. Há apenas uma entrada de diretório com um nome e proprietário. A entrada do diretório é logicamente distinta do arquivo. Por exemplo, o mesmo arquivo pode ter mais de um nome em mais de um diretório.
Infelizmente, o termo arquivo nem sempre é usado para significar exatamente a mesma coisa. Mas a lógica do tamanho do arquivo vem do modelo onde uma entrada de diretório atribui um arquivo a um diretório, então os nomes dos arquivos e metadados relacionados são armazenados no diretório.
Seguido pela resposta de Cort Ammon:
O significado semântico do tamanho do arquivo é diferente do que você está usando.
Existem muitos tamanhos de arquivos que são significativos. O mais comum, e aquele que você está vendo aqui, é o número de bytes no arquivo. Se o arquivo for um arquivo de texto vazio, ele pode conter zero bytes. Este número é importante para os programadores porque muitas vezes precisamos abrir um arquivo, ler todos os dados e fechá-lo. Precisamos saber quantos bytes de dados estarão no arquivo para que possamos planejar com antecedência.
Outro significado decorre da forma como a maioria dos sistemas de arquivos armazena dados. A maioria dos sistemas de arquivos armazena dados em blocos. Por exemplo, o sistema de arquivos pode armazenar dados em blocos de 64 kB, o que significa que nunca alocará nada que não seja um múltiplo de 64 kB.Isso parece ineficiente, mas pode tornar a contabilidade um pouco mais simples e, muitas vezes, mais simples significa mais rápido.
Um terceiro significado, que você está puxando, seria o número real de bits necessários no disco rígido para descrever a presença de um arquivo. Isso inclui informações normalmente armazenadas separadamente do arquivo. Por exemplo, no Linux, o conceito do nome do arquivo é armazenado no inodo para o diretório que contém o arquivo.[ Com base na entrada de outros comentários, isso é( tecnicamente) armazenado nos dados do diretório. Quando escrevi isso, pensei no caso do pequeno diretório. Os dados menores que 156 bytes podem ser armazenados diretamente no inode. ] Este não é um significado comumente usado porque é terrivelmente difícil de determinar sem saber o funcionamento interno tremendamente profundo do seu sistema de arquivos( como contabilizar o espaço necessário para armazenar todas as permissões no arquivo).No entanto, se você tiver um disco rígido de 1.000.000 de bytes e quer saber o tamanho de um arquivo que pode caber nesse disco rígido, isso será um significado muito importante para você!
Tem alguma coisa a adicionar à explicação? Som desligado nos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.