SOBRE SISTEMAS DE ALMACENAMIENTO EN DISCOS El Sistema de archivos en disco es el responsable de su almacenamiento, estructura de nombres, recuperaciones de datos e integridad de los mismos de la manera más robusta posible. Físicamente, la unidad mínima de almacenamiento en cualquier disco duro es el sector. Un sector consta de 512 bytes y es la electrónica del disco la que nos puede suministrar esa unidad mínima de datos. Un sistema operativo, no opera con sectores, sino con 'clusters'. Un cluster es la más pequeña unidad de almacenamiento en un disco duro. Dependiendo del tipo de partición se tendrán uno o mas sectores de 512 bytes en un cluster. El tamaño del cluster queda generalmente determinado por el sistema de archivos (FAT, FAT32, NTFS) y el tamaño del disco duro. El tamaño del cluster se puede ajustar con utilidades como Fsutil, pero esto sólo es posible en Windows XP. Para sistemas FAT la regla del tamaño de cluster es precisamente la mejor utilización del disco duro. Veamos un ejemplo: Windows 95 usaba sólo FAT 16. Con pequeñas particiones de hasta 256 MB, el tamaño del cluster era de 4 KB, con particiones grandes de hasta 2 GB (el máximo direccionable en este sistema de archivos), el tamaño era de 32 KB. Un fichero de 33 KB ocupa dos clusters en estas particiones, dejando por tanto 31 KB de espacio en disco perdidos y sin usar. Veámoslo de otra forma: si un disco duro contiene 1000 ficheros de 40 KB cada uno, estos ocuparán 391 Megas en una partición de 500 MB. En una partición de 1,2 GB, esos mismos 1000 ficheros ocuparán 600 MB de espacio en disco. Cada entrada en la FAT representa un cluster, esta tabla apunta directamente al comienzo del fichero por posición y en su contenido tiene el número del siguiente cluster y por fin, la identificación del último cluster. Es decir, supongamos que en un disco están libres los clusters 95, 101 y 200 de longitud de cluster 4 KB. Si tenemos un fichero de 11 KB ocupará 3 clusters. El sistema de archivos asignará la primera parte del fichero al cluster 95. Dentro de la tabla FAT, en la posición 95, existirá un numero que apunte a la 101 (en la 101 física del disco se grabará la segunda parte del fichero), y en la posición 101 de la FAT, se grabará un numero que apunte a la 200 (en cuya posición física del disco se grabará la tercera y última parte del fichero). Igualmente, en la FAT, en la posición 200 se grabará una marca que indica que ha terminado el fichero en dicho cluster. El sistema operativo crea una doble copia de la FAT por motivos de seguridad. En FAT 16 (16 bits), el máximo número posible que puede almacenarse es 2 elevado a 16: es decir 65536 números: del cero al 65535. Por tanto, el número máximo de clusters en un disco era de 65.535. UN POCO DE HISTORIA Con Windows 95, FAT 16 empezó a usar una modificación del sistema de datos llamada VFAT. Fue el primer sistema que podía escribir nombres largos de archivos. Cuando salió el W95b (OSR1) en 1996 Microsoft introdujo FAT32, el cual, ya no limitaba tampoco el número de directorio o ficheros en el directorio raíz tal y como estaba limitado en FAT 16. A pesar de sus desventajas, FAT 16 y FAT32 no han desaparecido. Máquinas con varios sistemas operativos pueden necesitar de estas particiones: si queremos acceder a un mismo volumen que sea visible desde Windows XP, Windows 95, Linux o DOS, deberemos usar el mínimo común denominador que se pueda leer y escribir en todos los sistemas sin necesidad de drivers específicos: en esta caso el sistema de archivos FAT 16. Windows XP pone un freno también a las particiones FAT 32: el máximo tamaño de estas que puede formatearse en Windows XP es de 32 GB. Particiones mayores pueden usarse si han sido creadas con otros sistemas operativos, pero en este caso no se garantiza tampoco integridad de datos. NTFS: PARTICIONES DE TERABYTES (1 Tera = 1024 GB) EL sistema de archivos NTFS fue lanzado con Windows NT 3.5 en 1993. Hasta Windows 2000, las líneas de desarrollo eran totalmente separadas: W95 / W98 / ME con FAT 16 y/o FAT32. Por contra, la serie NT, incluyendo Windows XP, puede manejar todas las variantes (excepto NT4 que no puede manejar FAT 32). NTFS contiene muchas mejoras sobre los sistemas FAT. La más importante es la optimización del uso de memoria en volúmenes grandes, corrección de errores ante caídas de máquina o de hardware, protección y seguridad ante accesos no autorizados, un servicio de índices y compresión y encriptación de datos. Las características de recuperación de NTFS merecen una mención especial: Windows recuerda en tiempo real todas las modificaciones al sistema de archivos tomando checkpoints (puntos de sincronismo) que se usan, por ejemplo, para corregir (en segundo plano y de modo transparente al usuario) errores del sistema ante reinicios espontáneos. NTFS puede manejar particiones de varios cientos de TeraBytes (un TeraByte es un millón de MegaBytes). Igualmente por la seguridad, los Administradores pueden poner sistemas de protección a la información y aplicar las políticas correspondientes de acceso a cada usuario, así como el sistema EFS (Encryption File System). AVANCES EN NTFS A pesar de estas ventajas, los sistemas NFTS anteriores a W2000 no alcanzaban los requerimientos de los actuales sistemas. Por ejemplo, en los sistemas NTFS anteriores a W2000 y que surgieron con NT, las particiones estaban limitadas hasta un máximo de 26 letras (de la A a la Z). Además, cualquier cambio en una partición implicaba reiniciar la máquina Otra desventaja es que mucha de la información del volumen NTFS residía en el registro, siendo por tanto realmente complicado el uso de un disco con otro sistema. Windows 2000 soluciona este problema con el Logical Disk Manager (LDM), el cual ya no requiere letra de unidad de disco. Este sistema NTFS también es capaz de almacenar información de sí mismo en el propio disco, solucionando por tanto el problema de intercambio de discos. Posteriormente, con XP se incorporan ligeras mejoras al sistema de archivos: se pueden definir los tamaños de cluster, y también han sido implementadas funciones administrativas como indexación de carpetas o activación de eventos de acceso a datos. Además, en windows XP existe un comando de consola (a ejecutar en un cmd.exe) llamado fsutil.exe. Esta es una potentísima herramienta que permite realizar cambios en la Master File Table (MFT). No se recomiendo su uso a usuario no experimentados. ORGANIZACION DE DATOS EN NTFS Al contrario que en sistema FAT, los cuales contiene un tabla de asignación de archivos al comienzo del volumen, NTFS organiza esto en una pieza central: la Master File Table (MFT). La MFT controla todos los ficheros en el volumen en una estructura de base de datos relacional -metadata-.