¿Cuál es la diferencia entre tamaño y tamaño en disco?

83

Al mirar las propiedades de un archivo de Windows, obtengo dos atributos, "Tamaño" y "Tamaño en disco", y "Tamaño en disco" siempre es más grande.

¿Qué significan estas dos métricas?

Gavin Miller
fuente
1
No estoy 100% seguro de esto, pero creo que los archivos comprimidos también tienen un efecto en estas mediciones.
AdminAlive
2
"Tamaño en disco" no siempre es mayor. Los archivos pequeños se almacenan directamente en la MFT y tendrán un tamaño en el disco = 0 . Los archivos comprimidos a menudo también tienen un tamaño más pequeño en el disco. Lo mismo con los archivos dispersos
phuclv

Respuestas:

78

El tamaño es el tamaño real del archivo en bytes.

El tamaño en el disco es la cantidad real de espacio ocupado en el disco. Se diferencian porque el disco está dividido en pistas y sectores, y puede asignar bloques de tamaño discreto.

Edición

Para una explicación más detallada, vea este texto que copié de otro sitio:

Sabemos que un disco está formado por pistas y sectores. En Windows, eso significa que el sistema operativo asigna espacio para archivos en "grupos" o "unidades de asignación".

El tamaño de un clúster puede variar, pero los rangos típicos son de 512 bytes a 32K o más. Por ejemplo, en mi unidad C: \, la unidad de asignación es 4096 bytes. Esto significa que Windows asignará 4096 bytes para cualquier archivo o porción de un archivo que tenga de 1 a 4096 bytes de longitud.

Si tengo un archivo de 17 KB (kilobytes), el tamaño en el disco sería de 20,48 KB (o 20480 bytes). El cálculo sería 4096 (1 unidad de asignación) x 5 = 20480 bytes. Se necesitan 5 unidades de asignación para contener un archivo de 17 KB.

Otro ejemplo sería si tengo un archivo que tiene un tamaño de 2000 bytes. El tamaño del archivo en el disco sería 4096 bytes. La razón es que, aunque el archivo completo puede caber dentro de una unidad de asignación, todavía ocupa 4096 de espacio (una unidad de asignación) en el disco (solo un archivo puede usar una unidad de asignación y no se puede compartir con otros archivos).

Por lo tanto, el tamaño en el disco es el espacio de todos los sectores en los que se guarda el archivo. Eso significa que, por lo general, el tamaño en el disco siempre es mayor que el tamaño real.

Por lo tanto, el tamaño real de un archivo (s) o carpetas (s) siempre debe tomarse del valor Tamaño al ver la ventana de propiedades.

Fuente: ¿Cuál es la diferencia entre el tamaño y el tamaño en el disco en las propiedades de la carpeta de Windows ?

Am1rr3zA
fuente
1
Entonces, ¿debería mirar "tamaño" o "tamaño en disco" cuando deseo comparar el porcentaje de cuánto tarda una carpeta en comparación con el total que tiene la partición actual?
Desarrollador de Android
1
@androiddeveloper tamaño en disco es
Am1rr3zA
Ok, gracias. Me pregunto por qué no lo explicaron allí, o pusieron una descripción un poco mejor.
Desarrollador de Android
55
La respuesta de Synetech a continuación agrega puntos importantes (y potencialmente confusos) sobre la compresión y los enlaces duros, que pueden conducir a un tamaño en el disco que es más pequeño que el tamaño.
Owen Blacker
1
@baroquedub Usted puede tener gran diferencia entre los dos (como el factor x1000 en su ejemplo). Esta diferencia puede ocurrir especialmente si hay muchos archivos pequeños (básicamente porque los archivos están escritos como "bloques" en el disco, por lo que se tomará al menos el tamaño completo de un bloque. El tamaño real del bloque depende del archivo). sistema, por lo que el tamaño del disco tomado puede ser diferente en diferentes discos.
Pacopaco
23

Tiene que ver con los tamaños de unidad de asignación utilizados en su disco cuando se formateó por primera vez.

Imagine que tiene dos latas de gasolina de 2 x 10 galones en su automóvil. Cada lata de gas es una unidad de asignación. Debe obtener 12 galones de gasolina, por lo que debe usar ambas latas. Básicamente usando 20 galones de espacio asignado, pero solo llenando 12 galones.

Aquí está el tamaño predeterminado para Windows XP

 Drive size   
 (logical volume)             Cluster size          Sectors   
 ----------------------------------------------------------
 512 MB or less               512 bytes             1
 513 MB - 1,024 MB (1 GB)     1,024 bytes (1 KB)    2 
 1,025 MB - 2,048 MB (2 GB)   2,048 bytes (2 KB)    4
 2,049 MB and larger          4,096 bytes (4 KB)    8

Si piensa en el tamaño del Clúster como cada una de sus latas de gas: Con capacidad de 4KB de "gas" cada una. Pero su archivo es de 2 KB, entonces el tamaño de los rellenos es de 2 KB, pero el tamaño en el disco es de 4KB

Holmes
fuente
66
Permítame agregar a su respuesta. El tamaño de la unidad de asignación (depósito) se elige en función del tamaño del disco. Si está utilizando un balde para vaciar una bañera, elegiría un balde más pequeño. Si está vaciando una piscina, usará un balde más grande.
Les
13

Cluster Slack Space

No puede acceder a cada byte individual en un medio de almacenamiento por separado. Hacerlo sería terriblemente ineficiente porque el sistema necesita alguna forma de hacer un seguimiento de cuáles se usan y cuáles son gratuitos (es decir, una lista), por lo que hacerlo para cada byte por separado crearía demasiado escuchado (para cada byte individual, es decir, 1 a 1, ¡la lista sería tan grande como el medio mismo!)

En cambio, el medio se divide en trozos, bloques, unidades, grupos, como quiera llamarlos (el término técnico es clústeres ), cada uno de los cuales contiene un número de bytes "consistente" (generalmente puede especificar el tamaño del clústeres ya que los diferentes usos requieren diferentes tamaños para reducir el desperdicio).

Cuando se guarda un archivo en el disco, el tamaño del archivo que está dividido por el tamaño del clúster y redondeado hacia arriba si es necesario. Esto significa que, a menos que el tamaño del archivo sea exactamente divisible por el tamaño del clúster, parte del clúster no se utilizará y, por lo tanto, se desperdiciará.

Cuando ve las propiedades de un archivo, ve el tamaño real del archivo, así como el tamaño que ocupa en el disco, que incluye cualquier " holgura ", es decir, las "sugerencias de clúster" que no se utilizan. Esto generalmente no es mucho por archivo y el tamaño en el disco generalmente será casi igual al tamaño real, pero cuando sumas el espacio desperdiciado de todos los miles de archivos en una unidad, pueden sumar. Por lo tanto, cuando ve el tamaño de una carpeta grande, especialmente una con muchos archivos pequeños que son más pequeños que un clúster, el tamaño en el disco (es decir, la cantidad de espacio en disco marcado como usado) puede terminar siendo significativamente mayor que el real tamaño (es decir, la cantidad de espacio que requieren los archivos).

En un caso como el anterior, lo que puede intentar es reducir el tamaño del clúster para que cada archivo desperdicie menos espacio. En general, una unidad con la mayoría de los archivos pequeños perdidos debe usar el tamaño de clúster más pequeño posible (para reducir el desperdicio) y una unidad con archivos en su mayoría grandes debe usar el tamaño de clúster más grande posible (de esta manera las estructuras de contabilidad terminan siendo más pequeñas).

Incluso en un nivel inferior, si cada clúster es solo un sector , a menos que un archivo sea un múltiplo exacto del tamaño de los sectores en la unidad (generalmente 512 bytes tradicionalmente, ahora a menudo 4.096 con discos de formato avanzado ), todavía habrá ser espacio no utilizado entre el final del archivo y el final del sector.

Compresión

Otro escenario en el que puede ver una diferencia entre el tamaño real del archivo y el tamaño en el disco es con la compresión. Cuando se comprime una unidad (p. Ej., Usando DriveSpace , compresión NTFS , etc.), habrá una diferencia entre el tamaño del archivo real (que debe saberse) y el tamaño real que ocupa el archivo (es decir, utiliza o "ocupa") en el disco.

Atajos y enlaces duros

Otro escenario que podría resultar en una diferencia es con los enlaces duros . Con los sistemas de archivos que admiten enlaces duros, cuando se crea un archivo duplicado, en lugar de crear un archivo completamente nuevo que ocupa espacio para sí mismo, el sistema de archivos crea un acceso directo al archivo para que ambos (o los tres, etc.) las copias apuntan al mismo archivo físico en el disco. Por lo tanto, cuando hay dos archivos que apuntan a los mismos datos, cada uno tiene el mismo tamaño, pero ocupan solo un poco más del espacio para almacenar una sola copia.

Synetech
fuente
En realidad, con las unidades de asignación 1B, la lista no necesariamente ocuparía todo el medio. Solo un octavo del tamaño. Esto se debe a que solo necesita un solo bit para decir si un bloque se usa o no.
flarn2006
Los gastos generales también incluyen datos que indican que varias unidades de asignación pertenecen al mismo archivo. Si dice que cada byte tiene otro bit que indica si los datos se desbordan en el siguiente byte, eso resuelve eso, pero es demasiado ingenuo para el tamaño / rendimiento del disco moderno porque si el siguiente byte no está libre CADA byte del disco duro puede necesitar ser movido. Siendo realistas, necesitaría más gastos generales para especificar el desplazamiento de la siguiente unidad de asignación o asignar una identificación de archivo a cada unidad de asignación.
Retirado Asistente
4

Otra cosa que puede reducir significativamente el valor de Tamaño en disco son situaciones en las que un archivo no está realmente almacenado en el disco, pero aún se puede acceder a él a través de diversos medios.

Por ejemplo, la función Archivos sin conexión de OneDrive permite al usuario almacenar un archivo de manera que sea accesible a través de una conexión a Internet. El archivo todavía existe en el disco y tiene un cierto tamaño, pero como no está en el disco hasta que se descarga, no ocupa espacio.

Ventana de propiedades de la carpeta OneDrive.  El tamaño de la carpeta es de 171 GB, pero el tamaño del disco es de 31,7 GB.

Ejemplo en una carpeta dentro ...

Ventana de propiedades de una carpeta con un nombre redactado.  El tamaño de la carpeta es de 379 MB, pero el tamaño del disco es de 0 bytes.

Justin Krejcha
fuente