domingo, 30 de agosto de 2009

De huevos, hueveras y bytes.


En uno de los foros en los que tengo el gusto de participar (Puromac), surgía hace poco una pregunta que yo mismo me hice hace ya muchos años:
¿Porqué una imagen JPEG que guardo con un tamaño de 6 Kb y subo a un blog, web o foro, me es mostrada ahí con un tamaño de 8KB? Es decir, ¿porqué un determinado archivo parece ocupar diferente espacio dependiendo del lugar donde la guarde? El mismo documento parece tener diferentes tamaños si lo guardo en un viejo disquete, en un "llavero" USB, un disco duro externo o en mi ordenador.

La explicación es muy sencilla: existe algo llamado "tamaño de unidad de asignación" o "cluster" de un disco duro. Cuando un disco duro es formateado, es dividido en un número de fracciones, celdas, o espacios iguales en los que se guarda la información. Normalmente los medios de almacenamiento de poca capacidad "trocean" el espacio disponible en unidades más pequeñas que los los discos de gran tamaño.

Hagamos el siguiente símil: supongamos que disponemos de una alacena o despensa (nuestro disco duro) en la que queremos almacenar una gran cantidad de huevos (bytes de información). Deberemos elegir hacerlo en "hueveras" o esos envases de cartón que disponen de huecos para colocar huevos de seis en seis, de docena en docena, o de dos docenas en dos docenas (éstas serán los "clústers"). Supongamos que elegimos utilizarlas de una capacidad de una docena. Si guardamos trece huevos necesitaremos dos hueveras, pero ocuparemos el espacio de veinticuatro. Si contamos nuestras existencias en base al número de hueveras utilizadas parecerá que disponemos de veinticuatro huevos.
Si hubiésemos "formateado" nuestra alacena utilizando hueveras de media docena, aparentemente habría dieciocho huevos, pero en realidad siempre hay trece huevos.

Esta inevitable pérdida de espacio se debe a la necesidad que tienen los sistemas operativos (Windows, Mac, Linux) de organizar e "inventariar" los datos almacenados de forma ordenada y de tal modo que sean accesibles.