Tamaño de un bloque
Una pista tridimensional (la misma pista en todos los discos) se llama cilindro. Cada pista se divide en 63 sectores. Cada sector contiene 512 bytes de datos. Por lo tanto, el tamaño del bloque en la tabla de particiones es de 64 cabezas * 63 sectores * 512 bytes er ... dividido por 1024 ... :-)
Fuente: Particionamiento con fdisk
Cada vez que Linux se refiere al tamaño de bloque, casi siempre es de 1024 bytes : Linux usa bloques de 1024 bytes como sus unidades primitivas para la memoria caché del búfer y todo. Las únicas veces que no lo hace es en controladores específicos del sistema de archivos, ya que algunos sistemas de archivos usan otros granularidades (por ejemplo, en un sistema de archivos ext3 de tamaño normal, el tamaño del bloque del sistema de archivos suele ser de 4096 bytes). Sin embargo, casi nunca puede ver el tamaño del bloque del sistema de archivos; Casi la única forma de verlo es ser un hacker del núcleo o ejecutar programas como dumpe2fs.
El problema con esto es que hay cuatro unidades distintas que debes tener en cuenta. Para empeorar las cosas, dos de estas unidades llevan el mismo nombre. Estas son las diferentes unidades:
- Tamaño de bloque de hardware, "tamaño de sector"
- Tamaño de bloque del sistema de archivos, "tamaño de bloque"
- Tamaño del bloque de caché del búfer del núcleo, "tamaño de bloque"
- Tamaño del bloque de la mesa de partición, "tamaño del cilindro"
Para diferenciar entre el tamaño de bloque del sistema de archivos y el tamaño de bloque de la memoria caché del búfer, seguiré la terminología FAT y usaré "tamaño de clúster" para el tamaño de bloque del sistema de archivos.
El tamaño del sector son las unidades con las que se ocupa el hardware. Esto varía entre diferentes tipos de hardware, pero la mayoría del hardware estilo PC (disquetes, discos IDE, etc.) usa sectores de 512 bytes.
El tamaño del clúster es la unidad de asignación que utiliza el sistema de archivos y es lo que causa la fragmentación; estoy seguro de que lo sabe. En un sistema de archivos ext3 de tamaño moderado, esto suele ser 4096 bytes, pero puede verificarlo con dumpe2fs
. Recuerde que estos también se suelen llamar " bloques ", solo que aquí me refiero a ellos como grupos . El tamaño del clúster es lo que se devuelve en st_blksize
el búfer de estadísticas, para que los programas puedan calcular el uso real del disco de un archivo.
El tamaño de bloque es el tamaño de las memorias intermedias que el núcleo utiliza internamente cuando almacena en caché sectores que se han leído desde dispositivos de almacenamiento (de ahí el nombre de "dispositivo de bloque"). Dado que esta es la forma más primitiva de almacenamiento en el núcleo, todos los tamaños de clúster del sistema de archivos deben ser múltiplos de esto. Este tamaño de bloque también es a lo que casi siempre se refieren los programas de espacio de usuario. Por ejemplo, cuando ejecuta
du
sin las opciones -h o -H, devolverá cuántos de estos bloques ocupa un archivo. df
también informará los tamaños en estos bloques, la columna "Bloques" en la fdisk -l
salida es de este tipo, y así sucesivamente. Es lo que se conoce comúnmente como "bloque". Dos sectores de disco encajan en cada bloque.
El tamaño del cilindro solo se usa en la tabla de particiones y por el BIOS (y el BIOS no lo usa Linux).
Fuente: tamaño de bloque de disco de Linux ... ayuda por favor
Sectores 0-31
Para responder a su pregunta sobre los primeros 32 sectores, dado que la unidad flash es un dispositivo con formato FAT y luego ver la definición del sistema de archivos FAT, se puede ver que un sistema de archivos FAT se compone de cuatro secciones diferentes:
a) Los sectores reservados;
b) la región Tabla de asignación de archivos (FAT);
c) la región del directorio raíz, y;
d) La región de datos.
Los sectores reservados , ubicados al principio, son (en este caso) los sectores 0-31:
El primer sector reservado (sector lógico 0) es el Sector de inicio (también conocido como
Registro de inicio de volumen (VBR) ). Incluye un área llamada Bloque de parámetros del BIOS (con información básica del sistema de archivos, en particular su tipo, y punteros a la ubicación de las otras secciones) y generalmente contiene el código del cargador de arranque del sistema operativo.
Se puede acceder a información importante del sector de arranque a través de una estructura del sistema operativo llamada Drive Parameter Block (DPB) en DOS y OS / 2.
El recuento total de sectores reservados se indica mediante un campo dentro del sector de arranque, y generalmente es 32 en los sistemas de archivos FAT32 .
Para los sistemas de archivos FAT32, los sectores reservados incluyen un Sector de información del sistema de archivos en el sector lógico 1 y un Sector de arranque de respaldo en el sector lógico 6.
Mientras que muchos otros proveedores han seguido empleando una configuración de un solo sector (solo el sector lógico 0) para el cargador de arranque, el código del sector de arranque de Microsoft ha crecido hasta generar sectores lógicos 0 y 2 desde la introducción de FAT32, con el sector lógico 0 dependiendo de subrutinas en el sector lógico 2. El área del sector de arranque de respaldo consta de tres sectores lógicos 6, 7 y 8 también. En algunos casos, Microsoft también usa el sector 12 del área de sectores reservados para un cargador de arranque extendido.
Solo información adicional, no relevante para la pregunta de OP
La Región FAT estará en el sector 32:
Esto generalmente contiene dos copias (pueden variar) de la Tabla de asignación de archivos en aras de la verificación de redundancia, aunque rara vez se utiliza, incluso por las utilidades de reparación de discos.
Estos son mapas de la región de datos, que indican qué grupos utilizan los archivos y directorios. En FAT12 y FAT16 siguen inmediatamente a los sectores reservados.
Por lo general, las copias adicionales se mantienen en estrecha sincronización en las escrituras, y en las lecturas solo se usan cuando se producen errores en la primera FAT. En FAT32, es posible cambiar del comportamiento predeterminado y seleccionar una única FAT de las disponibles para fines de diagnóstico.
Los primeros dos grupos (grupo 0 y 1) en el mapa contienen valores especiales.
La región del directorio raíz :
Esta es una tabla de directorio que almacena información sobre los archivos y directorios ubicados en el directorio raíz. Solo se usa con FAT12 y FAT16, e impone en el directorio raíz un tamaño máximo fijo que se asigna previamente en la creación de este volumen. FAT32 almacena el directorio raíz en la Región de datos, junto con archivos y otros directorios, lo que le permite crecer sin esa restricción. Por lo tanto, para FAT32, la región de datos comienza aquí.
La región de datos :
Aquí es donde se almacenan los datos reales del archivo y el directorio y ocupan la mayor parte de la partición. Tradicionalmente, las partes no utilizadas de la región de datos se inicializan con un valor de relleno de 0xF6 según la tabla de parámetros de disco (DPT) INT 1Eh durante el formato en máquinas compatibles con IBM, pero también se utilizan en la cartera de Atari. Los disquetes CP / M de 8 pulgadas generalmente vienen formateados previamente con un valor de 0xE5; a través de Digital Research, este valor también se usó en disquetes formateados Atari ST. Amstrad usó 0xF4 en su lugar. Algunos formateadores modernos limpian los discos duros con un valor de 0x00, mientras que un valor de 0xFF, el valor predeterminado de un bloque de flash no programado, se usa en discos de flash para reducir el desgaste. El último valor también se usa típicamente en discos ROM. (Algunas herramientas de formato avanzadas permiten configurar el byte de relleno de formato).
El tamaño de los archivos y subdirectorios se puede aumentar de forma arbitraria (siempre que haya grupos libres) simplemente agregando más enlaces a la cadena del archivo en el FAT. Sin embargo, tenga en cuenta que los archivos se asignan en unidades de grupos, por lo que si un archivo de 1 KiB reside en un grupo de 32 KiB, se desperdician 31 KiB.
FAT32 generalmente comienza la tabla de directorio raíz en el clúster número 2: el primer clúster de la región de datos.
Fuente: Wikipedia - Tabla de asignación de archivos