Compartir a través de


Confidencial de Windows: ¿Qué es 'Tamaño en disco'?

¿Exactamente de dónde surgen las cifras de las medidas de los datos del tamaño de una carpeta?

Raymond Chen

Al hacer clic en para ver las propiedades de una carpeta, la hoja de propiedades incluye dos valores: tamaño y tamaño en disco. ¿Qué exactamente estos valores significan? ¿Qué están midiendo?

La hoja de propiedades realiza una búsqueda recursiva de directorio ingenua para todos los archivos. No intente filtrar los nombres de archivo que se hace referencia al mismo archivo subyacente por medio de un vínculo físico. Si no tiene acceso a un subdirectorio, la búsqueda recursiva de directorio omitirá ese subdirectorio, y esos archivos no se contarán en el tamaño total de la carpeta.

Según parece, la búsqueda recursiva de directorio tiene cierta inteligencia. Parte de ella se está inteligente a propósito: detecta los puntos de análisis y no recurse en ellos. Otro elemento que se está inteligente por accidente: recuento de vínculos simbólicos a archivos de tamaño como cero. Esto no es porque el código de la búsqueda de directorio es inteligente acerca de los archivos. Es porque la entrada de directorio para los vínculos simbólicos informa de ellos como si tuviera un tamaño cero. Ahora ya sabe qué archivos se cuentan pero, ¿de dónde proceden esos números?

Cuestiones de tamaño

La medida del tamaño es fácil: es un acumulado de los tamaños de archivo indicados por la búsqueda­primera­función de archivo en el WIN32_FIND_DATA. nFile­Size­Low y nFile­Size­High. Cuenta que, esos valores no son necesariamente exactos que debido a la forma en que el NTFS de las entradas de directorio de actualizaciones de sistema de archivos. Es un tema para otro día, pero la versión corta es que los archivos que se escriben en no pueden informar de un tamaño de archivo precisa hasta que se cierra el identificador de archivo. Incluso entonces, sólo se actualizará la entrada de directorio utilizada para abrir el archivo.

El tamaño de la medida de disco es más complicado. Si la unidad admite compresión (indicados por el indicador FILE_FILE_COMPRESSION devuelto por Get­volumen­función de la información) y el archivo está comprimido o dispersos (FILE_ATTRIBUTE_COMPRESSED, FILE_ATTRIBUTE_SPARSE_FILE), el tamaño en disco para un archivo es el valor que indica que el Get­comprimido­archivo­función de cambio de tamaño. Esto indica el tamaño comprimido del archivo (si la compresión) o el tamaño del archivo menos las partes que se anule y lógicamente se trata como cero (si dispersos). Si el archivo está comprimido ni se dispersa, el tamaño en disco es el tamaño de archivo indicado el buscar­primera­función redondea hacia arriba al clúster más cercano de archivos.

El equipo de Windows 95 desarrolló originalmente el tamaño en el algoritmo de disco. La vista del mundo de sistema de archivo se ha sesgado en su fondo de MS-DOS. El único sistema de archivos de disco ha ocurrido FAT. Ha habido ofreciese un vínculo físico o una secuencia de datos alternativas. Contenido del archivo se almacena en unidades de clústeres.

Dichas suposiciones no mantenga true para NTFS, ni siquiera la parte de "contenido del archivo se almacena en unidades de clústeres". En NTFS, un archivo puede consumir los clústeres de cero para sus datos por sí mismo stashing en el espacio de inactividad en la tabla maestra de archivos (MFT). (Para obtener más detalles sobre esto, vea "Las cuatro etapas de crecimiento de archivo NTFS. ")

Naturalmente, en que el tamaño en el algoritmo de disco no tiene en cuenta otro archivos de la sobrecarga del sistema, como el espacio en disco ocupado por el nombre de archivo propio, información de la entrada de directorio, metadatos de archivo y secuencias de datos alternativas.

Los valores presentados por el tamaño y el tamaño en disco no están diseñados para ser una contabilidad de byte a byte del impacto total de un directorio en el espacio libre en disco. Son una estimación aproximada basándose en el supuesto de que la mayoría de los archivos es de la variedad aburrida. De forma, no significa vínculos físicos y el uso insignificante de secuencias de datos alternativas. Si tiene un directorio con varios vínculos físicos, como el directorio de Windows, por ejemplo, los valores serán no.

Puede utilizar como una prueba de examen de tamaño en disco para obtener una idea general del tamaño de un directorio, pero recuerde que es un cálculo naïve. Si necesita mantener tabulaciones de cuidado en el consumo de disco, sería mejor usar una característica como cuotas de disco, cuyo objetivo es hacer un seguimiento de manera más inteligente de consumo de disco.

Raymond_Chen

Raymond Chen del sitio web The Old New Thing, y tratar el historial de Windows, Win32, programación e indicarle chistes para tres-año-aburridos libro del mismo título (Addison-Wesley, 2007).

Contenido relacionado