jueves, 5 de julio de 2012

Desfragmentación

 

¿Qué es la fragmentación?

Cuando usted guarda un archivo en un disco (que en un principio está vacío), toda la información concerniente a este archivo se escribe secuencialmente. Es decir, una pieza atrás de la otra. Al guardar un segundo archivo, éste se escribirá a continuación del primero, y así consecutivamente.
Antes de la fragmentación
Sin embargo, cuando se elimina un archivo, se produce un espacio vacío en el disco. Por lo tanto, los siguientes archivos llenarán los "agujeros", y sus piezas se dispersarán por el disco. Este fenómeno es aún más pronunciado en un disco rígido, que tiene mayor capacidad y contiene una enorme cantidad de archivos. 

Después de la fragmentación
Entonces, cuando el sistema obtiene acceso a un archivo, el cabezal del disco necesitará analizar todos los lugares en los que se guardaron las piezas para poder leerlas. Este procedimiento reducirá el rendimiento de la PC...

¿Cómo se puede remediar esta fragmentación?

Copiar, mover y eliminar archivos es inevitable, ya que el sistema está constantemente escribiendo archivos temporales. Por este motivo, debe utilizar una herramienta de desfragmentación, la cual es un paquete de software que puede reorganizar los archivos en el disco para que las "piezas" de un archivo se almacenen en forma contigua. Así, se podrán crear archivos más "compactos".
Se recomienda usar una utilidad de desfragmentación regularmente (una vez por mes aproximadamente) que reorganice los datos almacenados en el disco.

Algunos consejos para la desfragmentación

La herramienta de desfragmentación utiliza algoritmos para reordenar los archivos en el disco de la mejor manera posible. Los fragmentos de los archivos dispersados en el disco se mueven temporalmente, uno por uno, para liberar espacio (no utilizado por archivos) en el disco. Luego se reubican en un lugar apropiado. Cuanto más espacio disponible haya en el disco, más sencilla será la desfragmentación.

Asimismo, si se cambian los datos durante la desfragmentación, la herramienta debe volver a calcular cómo mover los archivos para tener en cuenta estos nuevos cambios. Por lo tanto, es fundamental cerrar todas las aplicaciones abiertas antes de iniciar la desfragmentación. Ahora bien, el sistema operativo cuenta con procesos que se ejecutan de fondo y tienen acceso al disco rígido (especialmente si la cantidad de RAM en el sistema es insuficiente, debido a la creación de archivos de intercambio por el sistema).

Por consiguiente, si su ordenador ejecuta Windows, se recomienda encarecidamente reiniciar el sistema en modo a prueba de errores, en el cual la configuración que se carga es mínima. Para reiniciar el ordenador en modo a prueba de errores, debe presionar la tecla F8 inmediatamente después de prender el ordenador (prueba de RAM y detección de disco) y justo antes de que aparezca el mensaje Windows se está iniciando.

El sistema de archivos NTFS

 

El sistema de archivos NTFS

El sistema de archivos NTFS (New Technology File System [Sistema de archivos de nueva tecnología]) se basa en una estructura llamada "tabla maestra de archivos" o MFT, la cual puede contener información detallada en los archivos. Este sistema permite el uso de nombres extensos, aunque, a diferencia del sistema FAT32, distingue entre mayúsculas y minúsculas. 

En cuanto al rendimiento, el acceso a los archivos en una partición NTFS es más rápido que en una partición de tipo FAT, ya que usa un árbol binario de alto rendimiento para localizar a los archivos. En teoría, el tamaño límite de una partición es de 16 exabytes (17 mil millones de TB). Sin embargo, el límite físico de un disco es de 2TB.
Es a nivel de la seguridad que el NFTS se destaca, ya que permite que se definan atributos para cada archivo. La versión 5 de este sistema de archivos (estándar en Windows 2000 [cuyo seudónimo es NT 5]) brinda aún más opciones nuevas, como ser un alto rendimiento y cuotas de disco por volumen definidas para cada usuario. NTFS v.5 también debería admitir la administración remota...

Tabla maestra de archivos

La Tabla maestra de archivos es una tabla de valores numéricos. Cada celda de estos valores describe la asignación de clústers de una partición. En otras palabras, es el estado (utilizado o no por un archivo) de cada clúster en la partición en la que está ubicado. 

El sistema de archivos NTFS se basa en una estructura diferente, llamada tabla maestra de archivos, que contiene registros de los archivos y directorios de la partición. El primer registro, llamado descriptor, contiene información acerca de la MFT (una copia de esta información se almacena en el segundo registro). El tercer registro contiene el archivo de registro. Este es un archivo que contiene todas las acciones llevadas a cabo en la partición. Los siguientes registros, que constituyen lo que se conoce como el núcleo, hacen referencia a cada archivo y directorio de la partición en la forma de objetos con atributos asignados. Esto implica que la información que concierne a cada archivo se almacena en un archivo y éste se registra dentro de la MFT. Por lo tanto, la MFT es una estructura de almacenamiento de los datos en la partición y no una lista de clústers.

FAT16 y FAT32

El sistema de archivos FAT16

El primer sistema de archivos en ser utilizado en un sistema operativo de Microsoft fue el sistema FAT, que utiliza una tabla de asignación de archivos. La tabla de asignación de archivos es en realidad un índice que crea una lista de contenidos del disco para grabar la ubicación de los archivos que éste posee. Ya que los bloques que conforman un archivo no siempre se almacenan en el disco en forma contigua (un fenómeno llamado fragmentación), la tabla de asignación permite que se mantenga la estructura del sistema de archivos mediante la creación de vínculos a los bloques que conforman el archivo. El sistema FAT es un sistema de 16 bits que permite la identificación de archivos por un nombre de hasta 8 caracteres y tres extensiones de caracteres. Es por esto que el sistema se denomina FAT16

Para mejorar esto, la versión original de Windows 95 (que usa el sistema FAT16) se lanzó al mercado con una administración FAT mejorada en la forma del sistema VFAT (Virtual FAT [FAT Virtual]). VFAT es un sistema de 32 bits que permite nombres de archivos de hasta 255 caracteres de longitud. Sin embargo, los programadores tenían que asegurar una compatibilidad directa para que los entornos (DOS) de 16 bits aún pudieran acceder a estos archivos. Por ende, la solución fue asignar un nombre para cada sistema. Por esta razón se pueden usar nombres extensos de archivos en Windows 95 y, aún así, acceder a ellos en DOS. 

El sistema de archivos FAT es un sistema de 16 bits. Esto implica que las direcciones de clúster no pueden ser mayores a 16 bits. El número máximo de clústers al que se puede hacer referencia con el sistema FAT es, por consiguiente, 216 (65536) clústers. Ahora bien, ya que un clúster se compone de un número fijo (4,8,16,32,...) de sectores de 512 bytes contiguos, el tamaño máximo de la partición FAT se puede determinar multiplicando el número de clústers por el tamaño de un clúster. Con clústers de 32Kb, el tamaño máximo de una partición es, por lo tanto, de 2GB. 

Además, un archivo sólo puede ocupar un número integral de clústers. Esto significa que si un archivo ocupa varios clústers, el último solamente estará ocupado en forma parcial y no se podrá utilizar el espacio disponible. Como resultado, cuanto menor sea el tamaño del clúster, menor será el espacio desperdiciado. Se estima que un archivo desecha un promedio de medio clúster, lo cual significa que en una partición de 2 GB, se perderán 16KB por archivo.

Tabla de asignación de archivos

La Tabla de Asignación de Archivos es una lista de valores digitales que describe la asignación de los clústers de una partición o, dicho de otra forma, el estado de cada clúster de la partición en la que se encuentra. De hecho, cada célula de la tabla de asignación corresponde a un clúster. Cada célula contiene un número que indica si un archivo está utilizando el clúster. De ser así, indica la ubicación del siguiente clúster en el archivo. De esta forma, se obtiene una cadena FAT, la cual es una lista vinculada de referencias que apunta a los clústers sucesivos hasta el final del archivo. Cada entrada FAT tiene una extensión de 16 ó 32 bits (todo depende de si es una entrada FAT16 o FAT32). Las primeras dos entradas almacenan información acerca de la tabla misma, mientras que las entradas siguientes hacen referencia a los clústers. Algunas entradas pueden contener valores que indiquen el estado del clúster específico. Por ejemplo, el valor 0000 indica que no se está usando el clúster, FFF7 identifica al clúster como defectuoso por lo que no se utilizará, y los valores entre FFF8 y FFFF especifican que el clúster contiene el final de un archivo. En realidad, cada partición contiene dos copias de la tabla almacenada de manera contigua en el disco, para que pueda recuperarse si la primera copia se corrompe. 

Sistema de archivos FAT32

Aunque el VFAT era un sistema inteligente, no afrontaba las limitaciones de FAT16. Como resultado, surgió un nuevo sistema de archivos en Windows 95 OSR2 (el cual no sólo contaba con una mejor administración FAT como fue el caso de VFAT). Este sistema de archivos, denominado FAT32 utiliza valores de 32 bits para las entradas FAT. De hecho, sólo se utilizan 28 bits, ya que 4 bits se reservan para su uso en el futuro. 

Cuando surgió el sistema de archivos FAT32, el máximo número de clústers por partición aumentó de 65535 a 268.435.455 (228-1). Por lo tanto, FAT32 permite particiones mucho más grandes (hasta 8 terabytes). Aunque en teoría, el tamaño máximo de una partición FAT32 es de 8 TB, Microsoft lo redujo, voluntariamente, a 32 GB en los sistemas 9x de Windows para promover NTFS (ref.: http://support.microsoft.com/default.aspx?scid=kb;en;184006). Ya que una partición FAT32 puede contener muchos clústers más que una partición FAT16, es posible reducir significativamente el tamaño de los clústers y, así, limitar también el espacio desperdiciado del disco. Por ejemplo, con una partición de 2 GB, es posible usar clústers de 4KB con sistemas FAT32 (en lugar de clústers de 32KB con sistemas FAT16), que reducen el espacio desperdiciado por un factor de 8. 

El intercambio radica en que FAT32 no es compatible con las versiones de Windows previas al OEM Service Release 2. Un sistema que arranque con una versión anterior simplemente no verá este tipo de particiones.
Asimismo, las utilidades de administración de un disco de 16 bits, como ser versiones antiguas de Norton Utilities, ya no funcionarán correctamente. En términos de realización, el uso de un sistema FAT32 en lugar de un sistema FAT16 tendrá como resultado una leve mejora, de aproximadamente 5%, en el rendimiento.

¿Sistemas de archivos FAT16 o FAT32?

Debido a que el número de clústers es limitado, el tamaño máximo de una partición depende del tamaño de cada clúster. Veamos el tamaño máximo de la partición según el tamaño del clúster y el sistema de archivos utilizado: 

Tamaño del clúster Sistema de archivos FAT16 Sistema de archivos FAT32
(en teoría)
512 bytes 32 MB 64 MB
1 KB 64 MB 128 MB
2 KB 128 MB 256 MB
4 KB 256 MB 8 GB
(1 TB)
8 KB 512 MB 16 GB
(2 TB)
16 KB 1 GB 32 GB
(4 TB)
32 KB 2 GB 2 GB
(8 TB)

Al formatear un disco rígido, deberá decidir el tipo de sistema de archivos que utilizará y seleccionar el que le brinde el espacio disponible más cercano al tamaño que desea.

El sistema de archivos

¿Qué es un sistema de archivos?

 

Aunque los discos rígidos pueden ser muy chicos, aún así contienen millones de bits, y por lo tanto necesitan organizarse para poder ubicar la información. Éste es el propósito del sistema de archivos. Recuerde que un disco rígido se conforma de varios discos circulares que giran en torno a un eje. Las pistas (áreas concéntricas escritas a ambos lados del disco) se dividen en piezas llamadas sectores (cada uno de los cuales contiene 512 bytes). El formateado lógico de un disco permite que se cree un sistema de archivos en el disco, lo cual, a su vez, permitirá que un sistema operativo (DOS, Windows 9x, UNIX, ...) use el espacio disponible en disco para almacenar y utilizar archivos. El sistema de archivos se basa en la administración de clústers, la unidad de disco más chica que el sistema operativo puede administrar.
Un clúster consiste en uno o más sectores. Por esta razón, cuanto más grande sea el tamaño del clúster, menores utilidades tendrá que administrar el sistema operativo...
Por el otro lado, ya que un sistema operativo sólo sabe administrar unidades enteras de asignación (es decir que un archivo ocupa un número entero de clústers), cuantos más sectores haya por clúster, más espacio desperdiciado habrá. Por esta razón, la elección de un sistema de archivos es importante. 

Sistemas de archivos y sistema operativo

En realidad, la elección de un sistema de archivos depende en primer lugar del sistema operativo que esté usando. Generalmente, cuanto más reciente sea el sistema operativo, mayor será el número de archivos que admita. Por esto, se necesita contar con FAT16 en DOS y en las primeras versiones de Windows 95.

Empezando por Windows 95 OSR2, usted puede elegir entre los sistemas de archivos FAT16 y FAT32. Si el tamaño de la partición es mayor a 2GB, se excluyen los sistemas de archivos FAT y usted necesitará usar el sistema FAT32 (o modificar el tamaño de la partición).
Por debajo de este límite, se recomienda FAT16 para particiones con una capacidad menor a 500Mb. De lo contrario, es preferible usar FAT32.

En el caso de Windows NT (hasta la versión 4) usted puede elegir entre el sistema FAT16 y NTFS. No se admite FAT32. Por lo general, se recomienda el sistema NTFS ya que brinda una mayor seguridad y un mejor rendimiento que el sistema FAT. Actualmente, Microsoft recomienda el uso de una partición de tipo FAT pequeña (de entre 250 y 500MB) para el sistema operativo, para poder iniciar el sistema desde un disquete DOS de arranque en caso de que ocurra una catástrofe, y el uso de una segunda partición para almacenar sus datos.

En Windows NT5, hay muchas más opciones ya que acepta particiones FAT16, FAT32 y NTFS. Nuevamente, se recomienda el sistema de archivos más reciente (NTFS 5), ya que ofrece muchas más opciones que los sistemas FAT. Por las mismas razones mencionadas anteriormente, aún puede elegir una partición del tipo FAT. 

Sistema operativo Tipos de sistemas de archivos admitidos
Dos FAT16
Windows 95 FAT16
Windows 95 OSR2 FAT16, FAT32
Windows 98 FAT16, FAT32
Windows NT4 FAT, NTFS (versión 4)
Windows 2000/XP FAT, FAT16, FAT32, NTFS (versiones 4 y 5)
Linux Ext2, Ext3, ReiserFS, Linux Swap (FAT16, FAT32, NTFS)
MacOS HFS (Sistema de Archivos Jerárquico), MFS (Sistemas de Archivos Macintosh)
OS/2 HPFS (Sistema de Archivos de Alto Rendimiento)
SGI IRIX XFS
FreeBSD, OpenBSD UFS (Sistema de Archivos Unix)
Sun Solaris UFS (Sistema de Archivos Unix)
IBM AIX JFS (Sistema Diario de Archivos)

 

Coexistencia de varios sistemas de archivos

Cuando coexisten varios sistemas operativos en la misma máquina, la elección de un sistema de archivos es un gran problema. Debido a que el sistema de archivos está estrechamente ligado al sistema operativo, cuando existen varios sistemas operativos, usted debe elegir un sistema de archivos para cada uno, teniendo en cuenta que es posible que deba acceder a los datos de un sistema operativo desde otro. Una solución sería la de usar particiones FAT para todos los sistemas, asegurándose de que las particiones no sean mayores a 2 GB. La solución más apropiada sería la de utilizar, para cada SO, una partición cuyo sistema de archivos sea el que mejor se adapte a ésta y utilizar una partición FAT16 dedicada para que los diferentes sistemas operativos compartan datos.