17 oct 2010

Desfragmentación

De Wikipedia, la enciclopedia libre

Esquema que muestra cómo se desfragmenta un disco. Los archivos se representan con colores diferentes, y en un principio están fragmentados (regados por todo el disco). Luego el proceso de desfragmentación va acomodando los archivos de tal manera que cada uno quede en un área contigua y no haya espacios entre ellos.

La desfragmentación es el proceso mediante el cual se acomodan los archivos de un disco de tal manera que cada uno quede en un área contigua y sin espacios sin usar entre ellos. Al irse escribiendo y borrando archivos continuamente en el disco duro, éstos tienden a no quedar en áreas contiguas, así, un archivo puede quedar "partido" en muchos pedazos a lo largo del disco, se dice entonces que el archivo está "fragmentado". Al tener los archivos esparcidos por el disco, se vuelve ineficiente el acceso a ellos.

El problema de almacenamiento no contiguo de archivos se denomina fragmentación, se produce debido al almacenamiento de archivos en dispositivos como disco duro y memoria RAM por el uso del computador.

La fragmentación es un problema que surge debido al ordenamiento interno de los datos en algunos sistema de archivos. Se da muy comúnmente en el sistema operativo Windows aunque también afecta a otras plataformas pero en una escala mucho menor. También se produce fragmentación dentro de la memoria del computador (memoria RAM) cuando se asignan los procesos a los diferentes bloques de memoria. Existen dos tipos de fragmentación: doble y triple.

Desfragmentar no hace que el ordenador trabaje más rapido, sino que hace que la navegación por los archivos sea mas rápida.


Fragmentación

File system fragmentation.svg

La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de memoria. Tanto el primer ajuste, como el mejor y el peor producen fragmentación externa (Conocidos como estrategias de Colocación).

La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar ningún proceso de la lista de espera. Tal vez en conjunto si sea espacio suficiente, pero se requeriría de un proceso de defragmentación de memoria o compactación para lograrlo. Esta fragmentación se denomina fragmentación externa.

Existe otro tipo de fragmentación conocida como fragmentación interna, la cual es generada cuando se reserva más memoria de la que el proceso va realmente a usar. Sin embargo a diferencia de la externa, estos huecos no se pueden compactar para ser utilizados. Se debe de esperar a la finalización del proceso para que se libere el bloque completo de la memoria.

Fragmentación interna

La fragmentación interna es la pérdida de espacio en disco debido al hecho de que el tamaño de un determinado archivo sea inferior al tamaño del cluster, ya que teóricamente el archivo estaría obligado a ser referenciado como un cluster completo. Los cluster(s) son contiguos de forma que desde el último bit del archivo situado en el cluster "a" hasta el primer bit del archivo situado en el cluster contiguo (es decir "b") queda un espacio sobrante siempre teniendo la condición de que el archivo del cluster "a" fuera más pequeño que el cluster en sí.

Por eso se sugiere no disponer de un gran tamaño de partición en los discos nuevos donde la capacidad es muy importante. Por ejemplo si nuestro clúster es de 18KB (18.432 bytes) por más que un archivo ocupe menos, en nuestro disco ocupara 18KB. Esto sugiere una pérdida de ese espacio que dice utilizar pero no utiliza.

Por eso, en nuestro ejemplo, un archivo de 3KB ocupara en nuestro disco lo mismo que uno de 10KB, o sea 18 KB. Esa pérdida de espacio se denomina fragmentación interna, y no se corrige con el desfragmentador, sino disminuyendo el tamaño de la partición.

Fragmentacionpng.png

Fragmentación externa

Este tipo de fragmentación aparece como consecuencia de las distintas políticas de ajuste de bloques que tiene un sistema de ficheros, o al utilizar asignaciones dinámicas de bloques en el caso de la memoria. En el sistema de ficheros, la sucesiva creación y eliminación de ficheros de distintos tamaños puede conducir al aislamiento de los bloques libres de un disco y, dependiendo de la política de ajuste, su no elección para futuros ficheros.

En la memoria del sistema la fragmentación se produce cuando los procesos asignados han ocupado posiciones no contiguas de memoria dejando demasiados bloques libres de pequeño tamaño, en los que no "caben" nuevos procesos.

En sistemas de ficheros la desfragmentación trata de resolver este problema, alineando los bloques de datos contiguos y juntando los bloques libres, produciendo así fragmentos mayores que sí serán elegidos para futuros ficheros. En la memoria principal se soluciona compactando los procesos para que estos ocupen posiciones contiguas y dejar los bloques libres juntos, o también se soluciona con la paginación de memoria.

Desfragmentación

Este proceso consta de ordenar los trozos de información distribuida a través de todo el disco, para mejorar la velocidad de acceso y distribuir de mejor forma el espacio libre del dispositivo. Como este proceso consta en la reorganización de partes de archivos, requiere de suficiente memoria para realizar los movimientos de los trozos de información. Al mover en forma física la información, la estructura lógica no sufre alteraciones.

Aspectos de la desfragmentación

En Windows la presencia de archivos inamovibles del sistema, o que el desfragmentador no moverá para simplificar su tarea (sobre todo con el archivo de intercambio, o swap file), puede impedir un buen porcentaje de desfragmentación en el disco.

Ciertos sistemas de archivos son más susceptibles a cambios por desfragmentación que otros. Por ejemplo, una partición del tipo FAT se fragmenta más rápido que una de partición del tipo NTFS (Windows) , EXT 4 (Linux) o HFS + (MacOSX).

Utilidades

Los programas de desfragmentación, por lo general, vienen incorporados al sistema operativo (excepto en Windows NT 4). También existen aplicaciones externas, las cuales poseen opciones más avanzadas que las propuestas por los fabricantes del sistema operativo.

El desfragmentador más conocido es el Defrag, que es usado en MS-DOS y en las plataformas de Windows (en estas últimas con el nombre de "Desfragmentador de disco"). Puede ser encontrado en las versiones de Windows en Inicio -> Programas -> Accesorios -> Herramientas de Sistema.

No hay comentarios: