Desvendando os filesystems
Aqui vou tentar tirar a dúvida de muitos sobre qual filesystem utilizar, explicando passo a passo como um filesystem trata os arquivos e quais as principais características de cada um dos mais populares usados no Linux.
Parte 3: Blocos
Quando formatamos um disco, na verdade estamos estabelecendo um filesystem. Nas áreas de dados, blocos são gerados para receber tais dados.
Vou dar em exemplo de um processo que ocorre em uma partição de um HD. Imediatamente depois da formatação de uma partição de HD (criação do filesystem) teremos diversos blocos vazios.
Bom, para melhor entendimento dessa estrutura fiz uma representação para o melhor entendimento de todos, espero que gostem, é simples mas bem objetiva:
Chegam dados para serem armazenados na partição, é um arquivo.
Vamos considerar que o conteúdo desse arquivo seja armazenado no primeiro bloco vazio. No entanto o tamanho do arquivo é maior que o tamanho de um bloco, então serão necessários vários blocos:
Note que o terceiro bloco não foi totalmente preenchido, no entanto concordam que este bloco não poderá receber um arquivo diferente, pois se isso ocorrer teremos uma mistura de arquivos, o que não é muito bom.
É assim que a maioria dos filesystems tratam os arquivos, há uma tendência a não misturar arquivos.
Um novo arquivo chega ao HD, novamente o primeiro bloco disponível irá receber o arquivo, desta vez por ser um arquivo pequeno será necessário apenas um bloco:
Novamente um outro arquivo chega para ser armazenado no HD.
O modo de funcionamento do filesystem preconiza que sempre o primeiro bloco vazio receberá o arquivo. Esse arquivo irá requerer cinco blocos:
Cinco blocos ficaram vazios e dois ficaram pela metade.
Como arquivos diferentes não se misturam em um mesmo bloco, não se pode considerar que há cinco blocos e meio disponíveis. Somente os blocos totalmente vazios poderão receber novos arquivos. Assim teremos cinco blocos disponíveis.
Agora uma consideração importante: a menor quantidade de informações que o sistema operacional consegue acessar em um HD é um bloco. Assim, estão equivocados as pessoas que dizem que existem programas que copiam dados de um HD para outro, por exemplo, byte a byte ou bit a bit.
Vou dar em exemplo de um processo que ocorre em uma partição de um HD. Imediatamente depois da formatação de uma partição de HD (criação do filesystem) teremos diversos blocos vazios.
Bom, para melhor entendimento dessa estrutura fiz uma representação para o melhor entendimento de todos, espero que gostem, é simples mas bem objetiva:
Chegam dados para serem armazenados na partição, é um arquivo.
Vamos considerar que o conteúdo desse arquivo seja armazenado no primeiro bloco vazio. No entanto o tamanho do arquivo é maior que o tamanho de um bloco, então serão necessários vários blocos:
Note que o terceiro bloco não foi totalmente preenchido, no entanto concordam que este bloco não poderá receber um arquivo diferente, pois se isso ocorrer teremos uma mistura de arquivos, o que não é muito bom.
É assim que a maioria dos filesystems tratam os arquivos, há uma tendência a não misturar arquivos.
Um novo arquivo chega ao HD, novamente o primeiro bloco disponível irá receber o arquivo, desta vez por ser um arquivo pequeno será necessário apenas um bloco:
Novamente um outro arquivo chega para ser armazenado no HD.
O modo de funcionamento do filesystem preconiza que sempre o primeiro bloco vazio receberá o arquivo. Esse arquivo irá requerer cinco blocos:
Cinco blocos ficaram vazios e dois ficaram pela metade.
Como arquivos diferentes não se misturam em um mesmo bloco, não se pode considerar que há cinco blocos e meio disponíveis. Somente os blocos totalmente vazios poderão receber novos arquivos. Assim teremos cinco blocos disponíveis.
Agora uma consideração importante: a menor quantidade de informações que o sistema operacional consegue acessar em um HD é um bloco. Assim, estão equivocados as pessoas que dizem que existem programas que copiam dados de um HD para outro, por exemplo, byte a byte ou bit a bit.
Hum, que eu saiba existem diversos programas que realizam este tipo de operação(dd, cmp, etc)...mesmo que enquanto que para os dispositivos de bloco tenhamos um tamanho mínimo de setor a ser acessado, uma vez que o arquivo esteja carregado na memória RAM, o computador não irá copiar bytes ou bits vazios de um setor para o outro disco rígido ou dispositivo de memória, logo a denominação cópia byte a byte ou mesmo bit a bit está correta sob minha perspectiva. Dependendo é claro do programa que estamos utilizando, pois existem programas de espelhamento do disco rígido, mas mesmo assim acredito que estes não copiem os bits ou bytes vazios, apenas o conteúdo dos setores individualmente.
Cordialmente,