Viaje por la historia de los sistemas de archivos

Normalmente nos fijamos en los sistemas operativos como un todo para valorarlos y otorgarles nuestra confianza o descartarlos como opción válida. Si acaso, disertamos sobre los núcleos y sus posibilidades, pero nunca nos acordamos de una parte importantísima que los forman y que son los responsables de buena parte del éxito o el fracaso de un sistema operativo: los sistemas de archivos, esos grandes desconocidos. Vamos a darle un repaso histórico a gran parte de los que existen para comprobar hasta dónde llegan y qué nos pueden ofrecer.

La palabra kernel nos suena a todos. No hay que ser un experto informático para reconocer la importancia del núcleo dentro de un sistema operativo. Sin embargo, sí hay que poseer cierta cultura computacional para conocer el significado de los sistemas de archivos utilizados por los diversos sistemas operativos y su función en esta historia. Si el núcleo representa el motor, los sistemas de archivos podríamos considerarlos el “chasis” sobre el que se maneja este vehículo informático. Es una parte tan vital como el kernel y de su elección depende la eficacia y calidad de los sistemas operativos sobre los que se integran. Hagamos un viaje a través de estos desconocidos, que sólo nos interesan cuando nos falla un formateo o cuando necesitamos realizar ciertas operaciones y nos damos cuenta de que algunos no las permiten.

Un sistema de archivos es un conjunto de datos abstractos, concretamente algoritmos y estructuras lógicas, utilizados para poder acceder a la información que tenemos en el disco y que son implementados para el almacenamiento, la organización jerárquica, la manipulación, el acceso, el direccionamiento y la recuperación de datos. Cada uno de los sistemas operativos crea estas estructuras y algoritmos de diferente manera independientemente del hardware. El desempeño de nuestro disco duro, la fiabilidad, seguridad, capacidad de expansión y la compatibilidad, estará en función de estas estructuras lógicas. Por tanto, dependiendo del tipo de sistemas de archivos que utilice nuestro sistema operativo elegido, así será su eficacia, seguridad y eficiencia.

El sistema de archivos soportados por cada sistema operativo

FAT

El más famoso y sencillo de todos los conocidos. fue creado por Bill Gates y Marc McDonald en 1977 con el objeto de manejar discos en BASIC. El sistema de archivos FAT se caracteriza por la tabla de asignación de archivos (FAT), que en realidad es una tabla en la que reside la parte "superior" del volumen. Para proteger el volumen, se conservan dos copias de la FAT por si una de ellas resulta dañada. Además, las tablas de FAT y el directorio raíz deben almacenarse en una ubicación fija para que se puedan encontrar correctamente los archivos de inicio del sistema. Un disco formateado con FAT se asigna en clústeres, cuyo tamaño está determinado por el tamaño del volumen. Cuando se crea un archivo, se crea una entrada en el directorio y se establece el primer número de clúster que contiene datos. Esta entrada de la tabla FAT indica que éste es el último clúster del archivo o señala al clúster siguiente. No hay ninguna organización en cuanto a la estructura de directorios de FAT y se asigna a los archivos la primera ubicación libre de la unidad. Además, FAT sólo es compatible con los atributos de archivo de sólo lectura, oculto, sistema y modificado. Utilizado en DOS y Windows.

FAT 12

Versión de 12 bits (1977). Formaba parte del antológico sistema operativo DOS y era el que se utilizaba para formatear los ya vetustos disquettes de1,44 M, que las últimas generaciones ni conocen. Ahora mismo nos parece limitado y anticuado, pero en la época de su desarrollo, sirvió para consolidar toda una generación de ordenadores basados en DOS y lanzó los primeros PC al mercado. Sólo podía manejar archivos de un tamaño máximo de 32 MB. Hoy día nos parece ridículo, pero hace 30 años alcanzar semejante cantidad de información nos parecía un disparate. En aquellos entonces las memorias RAM se contaban por Kilobytes, no por “megas” y este sistema de archivos era mas que suficiente para colmar las expectativas de los más entusiastas.

FAT 16

Versión de 16 bits (1988). Diez años más tarde, el tímido avance de los primeros ordenadores, se convirtió en un constante aumento de las prestaciones, lo que dio lugar a una mejora del anterior FAT. Los sistemas DOS llegaron a su máximo esplendor y ya se podían manejar archivos de hasta 2 GB, que por aquellos entonces, nos seguía pareciendo una salvajada. Exactamente fue la versión MS-DOS 4.0 la que consolidó esta mejora del inicial sistema de archivos FAT.

FAT 32

Versión de 32 bits (1996). Fue la respuesta para superar el límite de tamaño de FAT16 al mismo tiempo que se mantenía la compatibilidad con MS-DOS en modo real. Microsoft decidió implementar una nueva generación de FAT utilizando direcciones de cluster de 32 bits. Apareció por primera vez en el Windows 95 OSR2 y se extendió al Windows 98, al Windows NT y al Windows 2000.  Podía manejar archivos de hasta 4 GB, un salto poco interesante desde el punto de vista cuantitativo con respecto a su antecesor y que ya nos daba una pista de las necesidades futuras de los usuarios con respecto a los archivos a manejar.

Tabla sobre las características de FAT

NTFS

Microsoft  desarrolló un nuevo sistema de archivos que dejaba atrás todo lo conocido con sus famosos FAT. Le llamó NTFS (NT File System) porque en un principio fue implementado para el Windows NT, pero finalmente terminó por acomodarse a todas las versiones posteriores de XP o 2000. Se pretendió diseñar un sistema de archivos más seguro, más fiable y con posibilidad de recuperación de archivos dañados. NTFS utiliza una tabla de ficheros maestra (MFT) para localizar todos los ficheros dentro de un volumen NTFS. Todos los datos críticos son duplicados para permitir recuperación en caso de errores, asegurándose de que la perdida en un sector no significará la perdida de toda la partición. También puede recuperar datos de un sector dañado y asegurar de que ese sector no sea usado de nuevo.

Además, el tamaño máximo de archivos manejado por esta última apuesta de Microsoft, aunque depende del tamaño del volumen, supera ampliamente lo ofrecido por FAT en cualquiera de sus versiones. Su límite teórico se fija en 16 EB, mas que suficiente para manipular archivos hoy día. Sin embargo, NTFS no es compatible hacía atrás con FAT, además, necesita ser desfragmentado cada cierto tiempo porque conforme se va usando, se van empobreciendo el rendimiento del sistema operativo. Hoy por hoy, es el sistema estrella en la mayoría de ordenadores del mundo.

A muchos les sonará de cuando se enfrentan al formateo (inevitable) de Windows

HPFS

En 1989 HPFS (High Performance File System) fue desarrollado también por Microsoft y creado específicamente para el sistema operativo OS/2 con el objetivo de mejorar las limitaciones del sistema de archivos FAT. Fue escrito por Gordon Letwin y otros empleados de Microsoft, y agregado a OS/2 versión 1.2, en esa época OS/2 era todavía un desarrollo conjunto entre Microsoft e IBM. Se caracterizaba por permitir nombres largos, metadatos e información de seguridad, así como de autocomprobación e información estructural. Otra de sus características es que, aunque poseía tabla de archivos (como FAT), ésta se encontraba posicionada físicamente en el centro de la partición, de tal manera que redundaba en menores tiempos de acceso a la hora de leerla/escribirla. Manejaba un tamaño máximo de archivos de 2 GB que, para aquellos entonces, superaba ampliamente las expectativas.

EL viejo sistema operativo OS/2 utilizaba HPFS, desarrollado también por Microsoft

MFS

En los albores de la informática, Apple ya se distinguió de los demás aportando en 1984 su propio sistema de archivos, llamado MFS (Macintosh File System). Creado para almacenar archivos en disquetes de 400K y para dar respuesta a las necesidades de aquellos entonces. MFS era notable tanto por introducir los fork de recurso para permitir el almacenamiento de datos estructurados como por almacenar metadatos necesitados para el funcionamiento de la interfaz gráfica de usuario de Mac OS. A MFS se le denomina como sistema de archivo plano porque no admite carpetas. Apenas podía manejar archivos de 256 MB. Todo un dinosaurio de la prehistoria informática.

HFS

Apple introdujo el HFS (Hierarquical File System) como reemplazo para MFS en  1985. En Mac OS 7.6.1, Apple dejó de prestar servicio de escritura en volúmenes MFS, y en Mac OS 8 fue quitado en conjunto la compatibilidad con dicho tipo de volumen. HFS se introdujo para superar algunos de los problemas de rendimiento que llegaron con la introducción de los grandes medios de almacenamiento como los discos duros. En HFS reemplazaron la estructura de directorios de MFS por una más adecuada a los sistemas de ficheros más grandes. HFS sustituyó la estructura de tabla plana por el archivo de catálogo (Catalog File) que utiliza una estructura de árbol B* que puede realizar búsquedas con gran rapidez, independientemente de su tamaño.

En 1998, Apple introdujo HFS+ para abordar la ineficacia en la asignación de espacio en disco en HFS y añadir otras mejoras. HFS es aún soportado por las versiones actuales de Mac OS, pero a partir de Mac OS X un volumen HFS no puede utilizarse para arrancar.

Los Mac de Apple no podían quedarse mirando, así que crearon sus propios sistemas

EXT

El mundo Linux aportó su manera de ver las cosas en los sistemas de archivos que proporcionaron a la informática unas enormes posibilidades en cuanto a eficiencia y optimización de recursos.  EXT (extended file system) fue el primer sistema de archivos creado específicamente para el sistema operativo Linux. Diseñado por Rémy Card para vencer las limitaciones del sistema de archivos MINIX aportó grandes mejoras a la informática de entonces. Fue reemplazado tanto por ext2 como xiafs, entre los cuales había una competencia, que finalmente ganó ext2, debido a su viabilidad a largo plazo. Las variantes del sistema EXT tienen muchísima más resistencia a la fragmentación que sus oponentes en Windows. No son necesarios pesados y largos procesos de desfragmentación como sucede en NTFS y sus rendimientos, por tanto, son más elevados.

Leave your vote

0 puntos
Upvote Downvote

Total votes: 4

Upvotes: 2

Upvotes percentage: 50.000000%

Downvotes: 2

Downvotes percentage: 50.000000%

  • longchamps_tiza

    hola, muy buen post.

    muy buena web.

    la miro siempre.

    excelente contenido.

  • Ravenman

    ¿Acaso te has olvidado de Butter FS (BtrFS)?.

    Me encantaría ver unas comparativas BtrFS VS XFS y VS ZFS.

    Todos sobre GNU/Linux.

  • jakala

    Buenas:

    solo un detalle, pones el el articulo " Cada uno de los sistemas operativos crea estas estructuras y logaritmos de diferente manera", cuando deberia ser "Algoritmos" 🙂

    • Kir Ortiz

      Arreglado.

      Son las traiciones de los correctores ortográficos, que a veces se toman la justicia por su mano y fracasan estrepitosamente. Y todo ello por la espalda.

      Gracias jalaka.

  • nismrc

    Muy buen articulo, pero yo también quería ver algo de Btrfs, en todo caso aun está en fase experimental, quizás es por eso?

    En todo caso felicitaciones al autor.

    • nismrc

      ups, errata: De todas maneras felicitaciones al autor.

  • Miau

    […El más famoso y sencillo de todos los conocidos. fue creado por Bill Gates y Marc McDonald en 1977 con el objeto de manejar discos en BASIC….]

    En realidad Bill Gates programo una solo cosa de la que se tiene conocimiento.

    Aqui un extracto de http://www.smaldone.com.ar/opinion/docs/microsoft.html (las comillas son mias)
    […El joven visionario que revolucionó la informática

    Otro mito bastante común es que Gates creó el lenguaje Basic. Nada más lejos de la verdad. Basic fue creado por John Kemeny y Thomas Kurtz en 1964. Lo que Gates y Paul Allen hicieron fue crear una versión del intérprete de dicho lenguaje para computadoras personales Altair (logro que es ampliamente superado por cualquier alumno de un curso universitario de compiladores). """Este intérprete es la única pieza de código conocida escrita, a medias, por Bill Gates""". Más adelante veremos que muchas otras invenciones que se le atribuyen tampoco fueron obra suya. …]

    • Astrobit

      Como osas ofender a bill gates nuestro señor creador de las pcs y todas las maravillas modernas!! que dios se apiade de ti.

  • alejandro_oyervides

    sin duda, uno de los sistemas mas usados a mi modo de ver, no es NTFS, sino el FAT
    lo usan aun los celulares, las memorias USB y varios dispositivos mas

    • reje80

      cierto Buen alcance..

  • epsilon

    Muy buen articulo.

    Quisiera que expandan e incluyan LVM (Linux Volume Management) y EVMS (Enterprise Volume Management System) y cualquier otro tipo de estructuras similares. Nunca he sabido de algo similar a esto que funcione en Windows.

  • luis

    16 EB? Me conformo con 1 TB.

  • arghhhhhhhhhh

    yo quise poner en mi usb de 16 gb un archivo de 4 gigas para repruducirlo en la television
    con que tuve que formatearlo al sistema de FAT 32 ya que era anteriormente NTFS pero dio la casualidad( ya lo se que casualidad no es ) de que no podia identificarlo la dichosa tele ! malido a los intereses comerciales
    las proxima television que comprare sera la bravia que esas no dan problemas
    salud !

    chuck norris accelero la compactacion de los discos duros depues de confundirlo con un sanwitch de queso…

  • Rio Ferdinand

    me parece que debemos ser mas justos para todos…..

  • xmfreak

    Muy buen artículo.

  • furbi963

    La moraleja el peor de los actuales es NTFS.

    • cierto

      Amen.

      bien dicho, acabado de leer el articulo y llegue ala misma conclusión,
      no sabia de los demás sistemas de archivos, solo conocía el fat, el ntfs, el ext3 y 4.

    • reje80

      Habria q ponerle otro sistema a windows.
      Pero pfff.

  • krathos1975

    Si no me falla la memoria (a estas alturas puede ser) microsoft habia desarrollado un nuevo sistema de archivos para el windows, alla por el 2004 cuando Vista tenia el codigo longhorn, el WINFS, lo desecho, al igual te todo el sistema debido a los tiempos de desarrollo y agarro el kernel del 2003 con ntfs lo dibujo un poco y nos la mando a guardar con vista!!!

  • Truko

    Me gusto =D