Creo que estás confundido, posiblemente porque has leído varios documentos que usan terminología diferente. Términos como "tamaño de bloque" y "tamaño de clúster" no tienen un significado universal, incluso dentro del contexto de la literatura del sistema de archivos.
Sistemas de archivos
Para ext2 o ext3 , la situación es relativamente simple: cada archivo ocupa un cierto número de bloques . Todos los bloques en un sistema de archivos dado tienen el mismo tamaño, generalmente uno de 1024, 2048 o 4096 bytes. Un archivo¹ cuyo tamaño está entre N bloques más un byte y N + 1 bloques ocupa N + 1 bloques. Ese tamaño de bloque es con lo que especificas mke2fs -b
. No existe una noción separada de grupos.
El sistema de archivos FAT utilizado en particular por MS-DOS y las primeras versiones de Windows tiene una asignación de espacio similarmente simple. Lo que ext2 llama bloques, FAT llama grupos ; El concepto es el mismo.
Algunos sistemas de archivos tienen un esquema de asignación más sofisticado: tienen bloques de tamaño fijo, pero pueden usar el mismo bloque para almacenar los últimos bytes de más de un archivo. Esto se conoce como subasignación de bloque ; Reiserfs y Btrfs lo hacen, pero no ext3 o incluso ext4.
Utilidades
Las utilidades de Unix a menudo usan la palabra "bloque" para referirse a una unidad de tamaño arbitrario, típicamente 512 bytes o 1kB. Este uso no está relacionado con ningún sistema de archivos o hardware de disco en particular. Históricamente, el bloque 512B se produjo porque los discos y sistemas de archivos de la época a menudo funcionaban en fragmentos 512B, pero el uso moderno es simplemente arbitrario. Las utilidades e interfaces tradicionales de Unix todavía usan bloques de 512B a veces, aunque ahora se prefieren bloques de 1kB . Debe verificar la documentación de cada utilidad para saber qué tamaño de bloque está utilizando (algunos tienen un interruptor, por ejemplo, du -B
o df -B
en Linux).
En la stat
utilidad GNU / Linux , la blocks
cifra es el número de bloques 512B utilizados por el archivo. La IO Block
figura es el tamaño preferido para la entrada-salida del archivo, que en principio no está relacionado, pero generalmente es una indicación del tamaño de bloque del sistema de archivos subyacente (o el tamaño del clúster si así lo quiere llamar). Aquí, tiene un archivo de 13 bytes, que ocupa un bloque en el sistema de archivos ext3 con un tamaño de bloque de 2048; por lo tanto, el archivo ocupa 4 unidades de 512 bytes (llamadas "bloques" por stat
).
Discos
La mayoría de los discos presentan una interfaz que muestra el disco como un grupo de sectores . El disco solo puede escribir o leer un sector completo, no bits o bytes individuales. La mayoría de los discos duros tienen sectores de 512 bytes, aunque los discos de 4kB comenzaron a aparecer hace un par de años.
El tamaño del sector del disco no está directamente relacionado con el tamaño del bloque del sistema de archivos, pero tener un bloque que sea un número entero de sectores es mejor para el rendimiento.
¹
Excepción: los archivos dispersos ahorran espacio.