Acho que você está confuso, possivelmente porque leu vários documentos que usam terminologia diferente. Termos como "tamanho do bloco" e "tamanho do cluster" não têm um significado universal, mesmo dentro do contexto da literatura do sistema de arquivos.
Sistemas de arquivos
Para ext2 ou ext3 , a situação é relativamente simples: cada arquivo ocupa um certo número de blocos . Todos os blocos em um determinado sistema de arquivos têm o mesmo tamanho, geralmente um de 1024, 2048 ou 4096 bytes. Um arquivo¹ cujo tamanho está entre N blocos mais um byte e N + 1 blocos ocupa N + 1 blocos. Esse tamanho de bloco é o que você especifica mke2fs -b
. Não há noção separada de clusters.
O sistema de arquivos FAT usado em particular pelo MS-DOS e versões anteriores do Windows possui uma alocação de espaço igualmente simples. O que o ext2 chama de blocos, o FAT chama de clusters ; o conceito é o mesmo.
Alguns sistemas de arquivos têm um esquema de alocação mais sofisticado: possuem blocos de tamanho fixo, mas podem usar o mesmo bloco para armazenar os últimos bytes de mais de um arquivo. Isso é conhecido como subalocação de bloco ; Reiserfs e Btrfs fazem isso, mas não ext3 ou mesmo ext4.
Serviços de utilidade pública
Os utilitários Unix costumam usar a palavra "bloco" para significar uma unidade de tamanho arbitrário, geralmente 512 bytes ou 1kB. Esse uso não está relacionado a nenhum sistema de arquivos ou hardware de disco específico. Historicamente, o bloco 512B surgiu porque discos e sistemas de arquivos na época geralmente operavam em blocos 512B, mas o uso moderno é apenas arbitrário. Utilitários e interfaces tradicionais do Unix ainda usam blocos de 512B às vezes, embora os blocos de 1kB agora sejam preferidos . Você precisa verificar a documentação de cada utilitário para saber qual o tamanho do bloco que está usando (alguns têm um switch, por exemplo, du -B
ou df -B
no Linux).
No stat
utilitário GNU / Linux , a blocks
figura é o número de blocos de 512B usados pelo arquivo. A IO Block
figura é o tamanho preferido para entrada e saída de arquivo, que, em princípio, não é relacionado, mas geralmente indica o tamanho do bloco do sistema de arquivos subjacente (ou o tamanho do cluster, se é assim que você deseja chamá-lo). Aqui, você tem um arquivo de 13 bytes, que ocupa um bloco no sistema de arquivos ext3 com um tamanho de bloco de 2048; portanto, o arquivo ocupa 4 unidades de 512 bytes (chamadas de "blocos" por stat
).
Discos
A maioria dos discos apresenta uma interface que mostra o disco como vários setores . O disco pode gravar ou ler apenas um setor inteiro, não bits ou bytes individuais. A maioria dos discos rígidos possui setores de 512 bytes, embora os discos do setor de 4kB tenham começado a aparecer alguns anos atrás.
O tamanho do setor de disco não está diretamente relacionado ao tamanho do bloco do sistema de arquivos, mas ter um bloco com um número inteiro de setores é melhor para o desempenho.
¹
Exceção: arquivos esparsos economizam espaço.