En informática, ¿cuál es la diferencia entre ‘tamaño’ y ‘tamaño en disco’ cuando presiono las propiedades de cualquier archivo?

La mayoría de los sistemas de archivos están diseñados según el requisito de que haya un bloque de datos de tamaño mínimo que el sistema operativo pueda transferir al dispositivo. Esto normalmente es cierto para los medios rotativos y los dispositivos NAND (aunque no es técnicamente cierto para los discos RAM u otros medios). Hay una serie de compensaciones de diseño en el sistema de archivos que utilizan un múltiplo del tamaño físico más pequeño. La diferencia entre los dos números es la cantidad de bytes que ha escrito en el contenido del archivo, en comparación con el tamaño que requiere el sistema operativo para almacenar esos contenidos.

Como ejemplo: su disco duro puede leer / escribir un solo sector a la vez, que es de 128 bytes. El número más pequeño de bytes que el sistema operativo podría escribir a la vez sería de 128 bytes, independientemente de cuántos realmente necesitara escribir. El sistema de archivos en uso puede tener un tamaño de bloque mínimo de 4096 bytes, o 32 sectores. ¿Por qué el sistema operativo no usa la menor cantidad posible? El tamaño mínimo de bloque del sistema de archivos es una compensación entre la cantidad de memoria que necesita el software del sistema de archivos durante el tiempo de ejecución, la cantidad de tiempo necesario para actualizar las estructuras del sistema de archivos al escribir archivos, el tiempo necesario para leer / buscar archivos, el tamaño de las cachés , y los efectos sobre el consumo general del disco. En general, el tamaño del bloque se elige para tratar de optimizar muchas (al menos algunas) de esas restricciones.

Todo esto significa que si crea un archivo que contiene un solo byte, necesitará usar hasta 4096 bytes de espacio en disco. (Por lo general, hay una sobrecarga adicional para las entradas de directorio que no se cuenta en el cálculo del tamaño del archivo). Puede continuar agregando bytes a ese archivo hasta llegar a 4097 bytes, momento en el que se desbordará para requerir 2 bloques, por lo que sería luego tome 8192 bytes.

Deja que te lo explique.

En Windows cada vez que crea y guarda un archivo, se almacena en HDD (obvio) que está formado por clústeres . Nuestros discos duros tradicionales están formados por sectores y la colección de estos sectores se conoce como clúster. El tamaño del clúster puede variar de 512 bytes a 4 KB, según la versión del kernel de Windows y el tamaño del volumen.

Ahora suponga que ha creado un archivo de texto simple con un tamaño de 400 bytes. Cuando almacena esto en su volumen, se necesita un clúster para almacenar esto, es decir, utilizará 512 bytes para almacenar su archivo en el disco, mientras que el tamaño real de su archivo es de 400 bytes. Junto con el contenido del archivo, también tiene que almacenar metadatos: ubicación del archivo, fecha de creación, permisos, etc.

Si desea esta explicación con más detalle, puede leer esta información confidencial de Windows | Revista TechNet

El tamaño es el tamaño real de su archivo.

Ahora, su disco duro es un medio de almacenamiento extraño. Puede almacenar su archivo en fragmentos, en diferentes ubicaciones de disco. Para usted, el archivo aparece como una sola pieza, pero físicamente, un archivo de 1 MB puede almacenarse en 2 segmentos de 512 KB, cada uno en una ubicación de disco diferente.

Ahora, estas dos piezas de 512 KB deben referirse como parte del mismo archivo. Entonces, la primera pieza de 512 KB tiene lo que se conoce como un ‘puntero’ en su extremo, que apunta a la ubicación de la segunda pieza de 512 KB en el disco. El puntero básicamente almacena la dirección de una ubicación de memoria. ¡Este puntero también consume memoria!

Entonces, el ‘Tamaño en disco’ es en realidad el tamaño de su archivo, junto con todos los punteros que apuntan a las ubicaciones de memoria de los fragmentos de su archivo.

La diferencia está entre el número real de bytes en el archivo y la cantidad de espacio asignado. Rara vez un archivo llena exactamente el espacio asignado, al igual que el número de calcetines que posee exactamente llena su cajón de calcetines.

Cuando escribe un archivo en el disco, debe poder encontrarlo nuevamente. El directorio contiene, con una o dos indirecciones, una lista de direcciones físicas en el disco donde se puede encontrar. Un disco giratorio se divide en pistas paralelas, cada una de las cuales se divide en sectores de (generalmente) 512 bytes. Al principio, un disquete de 720k tenía 80 pistas de 18 sectores cada una. Eso es un total de 1440 sectores, que podrían numerarse todos individualmente. Inicialmente, las entradas de directorio (en CP / M, por ejemplo) contenían una lista de números de sector donde se almacenaba el archivo. Dado que dos archivos no podían compartir un sector, si el último sector para un archivo no estaba lleno, se dejaba vacío y el espacio ocupado por el archivo (tamaño en el disco) se redondeaba a los siguientes 512 bytes por encima del tamaño real del archivo .

MSDOS introdujo una capa de indirección con la tabla de asignación de archivos (FAT). El FAT es un área de disco con cada bit asignado a una ubicación física. Si un bit se estableció en 1, se utilizó esa ubicación física. El directorio de archivos ahora apuntaba a una ubicación en el FAT, no a un sector físico. El primer FAT fue FAT12, llamado así porque 12 bits podían abordar físicamente cualquier sector individual en un disquete. Pero cuando aparecieron los primeros discos duros, tenían demasiados sectores, un disco duro de 10 MB tendría unos 20.500 sectores, por lo que FAT12 ya no funcionaba. Ingrese a la Unidad de asignación . Ahora, en lugar de sectores individuales, el FAT señaló grupos de sectores (2, 4, 8, 16, etc.) y el espacio de asignación para un archivo se redondeó al siguiente tamaño de la unidad de asignación: 1k, 2k, 4k, 8k, hasta 64k. Esto desperdició mucho espacio, por lo que FAT12 fue reemplazado por FAT16, permitiendo 65536 unidades de asignación más pequeñas, y luego FAT32 que permitió 4 mil millones. Ahora la capacidad del disco también ha superado a FAT32 y se utilizan diferentes sistemas, pero siempre hay una unidad de asignación, y si la última no se llena exactamente, el tamaño en el disco siempre será mayor que el tamaño real del archivo.

El tamaño se refiere al tamaño real de los archivos (más la información del archivo). Supongamos que tiene un archivo con 1000 caracteres de 1 byte cada uno, el tamaño del archivo será de 1 KB.

El tamaño en el disco se refiere a la cantidad real de espacio utilizado para almacenar el archivo / carpeta. Esto se basa en las unidades de asignación o agrupamiento. Para un rápido almacenamiento y recuperación de datos, los medios de almacenamiento se dividen en bloques / fragmentos conocidos como unidades de asignación o grupos. Supongamos que el sistema de archivos tiene un tamaño de asignación de 4KB, luego un archivo de tamaño de 1KB ocupará un tamaño de 4KB en el disco (un bloque completo de 4KB) y, por otro lado, un archivo de tamaño de 8KB ocupará un tamaño de 8KB en el disco (dos bloques de 4KB )

Generalmente, el tamaño en el disco para un archivo es mayor que el tamaño debido a la agrupación. Por lo tanto, se recomienda utilizar tamaños de bloque pequeños para el almacenamiento de archivos pequeños. Sin embargo, el tamaño en el disco a veces puede ser más pequeño que el tamaño debido al algoritmo de compresión del sistema operativo.

Otra interpretación es que los archivos gráficos están comprimidos, por lo que el tamaño del archivo es el tamaño del mapa de bits expandido, y el tamaño en el disco es el tamaño después de la compresión. Por lo tanto, un gráfico de 1 MB podría comprimirse en 2 k si el archivo contiene muchas cosas comprimibles.

bro el nombre solo sugiere que, el tamaño para un alcance y tamaño en disco es su extensión en hd