Arcvvm Devs svvm Tetenditarquer.net
arquer en la red

¿Quien ha llenado mi disco?

Tamaño de los archivos en discoCuando vemos las propiedades de un disco o de una carpeta observamos que el espacio ocupado en el disco nunca es igual al tamaño de los archivos que contiene

Lo que es peor, el espacio ocupado es siempre mayor que el tamaño de los archivos. Como si alguien estuviera llevándose trozos adicionales de disco por cada archivo que almacenamos.

¿Quien está ocupando este espacio en disco?

Las unidades de asignación

Vayamos por un momento al viejo símbolo del sistema, vamos a probar el comando chkdsk en un disco extraible de 2Gb para ver qué nos dice:

Pantalla de CHKDSKEntre otras cosas el comando chkdsk nos indica el tamaño de las 'unidades de asignación' del disco.

Una unidad de asignación es el espacio de disco más pequeño que va a utilizar el sistema de archivos para almacenar nuestros datos; cualquier archivo que grabemos en una unidad ocupará un número entero de unidades de asignación.

En la última de ellas siempre habrá un espacio sin utilizar, salvo en el caso excepcional de que el tamaño del archivo sea un múltiplo exacto del tamaño de la unidad de asignación cosa poco probable.

Esto quiere decir que en nuestro disco de ejemplo, un archivo cualquiera utilizará por lo menos una unidad de asignación, es decir, 32.768 bytes con independencia de su tamaño real. Si guardamos un archivo de 768 bytes y otro de 31.490 bytes utilizarán 32.768 bytes cada uno.

Si guardamos un archivo de 32.769 bytes se utilizarán dos unidades de asignación y el espacio ocupado será de 65.536 bytes.

Cuanto más pequeñas son las unidades de asignación menos espacio se desperdicia en cada archivo, la contrapartida es que como hay más unidades de asignación, vamos a necesitar más espacio para almacenar la tabla de asignación de archivos (la famosa FAT). La elección del mejor tamaño de la unidad de asignación para un disco no siempre va a resultar simple.

En general un disco en el que dejaremos pocos archivos grandes va a resultar más eficiente con un tamaño de la unidad de asignación grande, mientras que ese disco en el que queremos poner miles de archivos pequeños funcionará mejor con un tamaño pequeño de la unidad de asignacón.

Tamaño de los directorios

Espacio ocupado en disco por las carpetas Estamos acostumbrados a 'ver' los archivos como cosas que ocupan espacio pero nunca o casi nunca podemos ver el espacio que ocupan las carpetas o directorios.

Las carpetas o directorios necesitan también espacio en el disco para almacenar información. Como que el sistema operativo normalmente no nos informa de este espacio de vez en cuando nos olvidamos de que existe.

Para ver cómo afecta conjuntamente al uso del disco el tamaño de las unidades de asignación y el espacio que utilizan las carpetas vamos a hacer un experimento:

A una unidad de 16 Mb le damos formato con FAT12 con un tamaño de las unidades de asignación de 4.096 bytes (recordando lo ya dicho, el espacio mínimo de cada archivo será de 4.096 bytes), en este disco creamos 1.110 carpetas, el espacio ocupado es de algo más de 4Mb.

A continuación borramos el disco y le damos de nuevo formato FAT12 pero dejando el tamaño de las unidades de asignación en 16.384 bytes; ahora con tan solo 897 carpetas conseguimos llenar por completo el disco y provocar el tan temido error "disco lleno".

Queda claro que las carperas ocupan espacio y que el tamaño de la unidad de asignación afecta al uso del disco.

He aquí uno de esos casos en los que 'el tamaño importa'.

Las carpetas ocupan lugar

Resulta interesante que las 1.110 carpetas creadas podemos dejarlas almacenadas en un archivo comprimido de tan solo 100 Kb, dato que contrasta con el espacio que ocupan en el disco; la razón es que cada carpeta necesitará una unidad de asignación completa cuando está en el disco aunque no tenga apenas datos.

FAT12 y tamaño de las unidades reducido a 512 bytesViendo que uno de los métodos para aprovechar el espacio en discos consiste en utilizar unidades de asignación del tamaño más adecuado hagamos de nuevo el experimento.

En esta última variante del experimento damos formato a la unidad con FAT12 pero con unidades de asignación de 512 bytes; el resultado es que nuestras 1.110 carpetas ahora sí caben sin problemas y además ocupan poco más de medio 'mega'.

Sin embargo basta echar una ojeada para darnos cuenta de que la capacidad total de la unidad ha quedado reducida de los 14,0 Mb que teníamos en nuestras primeras pruebas a 13,9 Mb; un sacrificio que puede compensar si almacenamos archivos de pequeño tamaño.

Estas diferencias en la capacidad del disco se deben a que cuanto más reducimos el tamaño de la unidad de asignación, más espacio necesitamos para 'organizarlas'.

Agujeros negros en mi disco duro

El sistema de archivos y el tamaño de las unidades de asignación y la presencia de carpetas no son las únicas causas de que el espacio ocupado en disco sea diferente del tamaño de los archivos almacenados.

Bueno, en realidad casi es así, pero además de los archivos y carpetas que están a la vista hay otras cosas en los discos que no pueden verse directamente.

Por poner algunos ejemplos los puntos de restauración del sistema y las cadenas de datos alternativos (ADS) que están presentes en algunos sistemas operativos ocupan espacio en el disco.

En discos con formato NTFS podemos ver una curiosa carpeta llamada 'System Volume Information', al ver sus propiedades se nos informa de que el espacio ocupado es de 0 bytes. ¿Será verdad?.

Si cambiamos 'un poco' los permisos de la carpeta 'System Volume Information' para que no solo esté autorizado SYSTEM, sino también nosotros, podemos ver una pequeña diferencia:

ANTES DE CAMBIAR LOS PERMISOSDESPUES DE CAMBIAR PERMISOS
Carpeta vaciaCarpeta no vacia

En esta carpeta se guardan los puntos de restauración del sistema y no es del todo malo que los permisos los tenga únicamente el sistema operativo. Para controlar el tamaño basta con ajustar el espacio o en caso extremo desactivar la restauración del sistema en las propiedades de 'Mi PC'.

Si has dado permisos a algún usuario para curiosear esta carpeta acuérdate de retirarlos antes de continuar, no vaya a ser que la curiosidad termine matando al gato.

Los ADS

ADS significa 'Alternate Data Streams', en castellano 'Cadenas de datos alternativos', y sirven para almacenar información adicional sobre un archivo. De la misma forma que pueden reforzar la seguridad, tambien sirven para comprometer la seguridad de un sistema, pero esa no es la cuestión que nos incumbre ahora.

Descargamos un archivo de Internet, lo guardamos en la carpeta C:\TEMP y echamos una ojeada:

C:\TEMP>dir
 El volumen de la unidad C es Disco local
 El número de serie del volumen es: NNNN-NNNN

Directorio de C:\TEMP

26/10/2007  20:56            92.359 fsum.zip
               1 archivos         92.359 bytes
               2 dirs  24.385.347.584 bytes libres

El disco tiene ahora 24.385.347.584 bytes libres. Borramos el ADS que nos informa del origen (Internet) del archivo y...

C:\TEMP>dir
 El volumen de la unidad C es Disco local
 El número de serie del volumen es: NNNN-NNNN

Directorio de C:\TEMP

26/10/2007  20:56            92.359 fsum.zip
               1 archivos         92.359 bytes
               2 dirs  24.385.351.680 bytes libres

En el disco aparecen 4.096 bytes libres, una unidad de asignación completa. En este espacio estaba la información sobre la zona de la que procedía el archivo.

El tamaño mínimo que utiliza cada 'ADS' es una unidad de asignación y el máximo no lo conozco pero supongo que podría ser cualquiera siempre que quepa en el disco.

La parte negativa de la noticia es que no es obvio el procedimiento para aligerar el equipo de los 'ADS' pero estoy seguro de que la Internet puede estar llena de buenas fuentes de información sobre este asunto.

Para saber más sobre los ADS:
Lads
Windows Alternate Data Streams
Practical Guide to Alternative Data Streams in NTFS
How To Use NTFS Alternate Data Streams
Páginas encontradas en microsoft.com por Google

Conclusiones

Algunas de las características que hacen más cómoda la vida con los ordenadores utilizan espacio en el disco duro y deben asumirse.

Podemos influir en la cantidad de espacio utilizado por el sistema de archivos si analizamos con detenimiento el tamaño de los archivos que almacenamos y hacemos algunas cuentas.

En cualquier caso no existe una receta mágica que podamos aplicar a cualquier ordenador o a cualquier disco y en cualquier momento, pero sí es posible indagar en los espacios oscuros que van terminando con el espacio de disco.


Recetas de cocina

Mis recetas de cocina
Lentejas con chorizo
Mayonesa
Sopa de ajo
El huevo frito
La tortilla francesa
La tortilla española
La fabada asturiana

Otras secciones

Utilidades para discos
Seguridad local
Volcado del contenido de la memoria
Supervisión parental
Contra el vicio de leer...
Configuracion de hora en un ethernet BigDisk de Lacie
Ajustes del monitor
Programas imprescindibles
Sitio FTP como unidad local
Disk Valid Advanced
El AIRIS N973 vuelve a la vida
Variaciones del teclado del PC
Variaciones del teclado del PC (II)
Edicion de paginas web
Publicar imagenes en Internet
Imagen, limitaciones y derechos de copia
Como escribir paginas Web fácilmente
Como escribir paginas Web fácilmente, segunda entrega
Mejora tu PageRank

Notas 'tech'

tecnoblog en arquer.net

Busqueda segura en Google

Busca en Google evitando contenidos inadecuados desde esta página

La búsqueda segura en Google te ayuda a encontrar paginas con contenidos adecuados para toda la familia

Google