sistemas de archivos



La mayoría de los sistemas operativos poseen su propio sistema de archivos. Los sistemas de archivos son representados ya sea textual o gráficamente utilizando gestores de archivos o "shells". En modo gráfico a menudo son utilizadas las metáforas de carpetas (directorios) conteniendo documentos, archivos y otras carpetas. Un sistema de archivos es parte integral de un sistema operativo moderno.

Los sistemas de archivos más comunes utilizan dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud. El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. En la realidad, un sistema de archivos no requiere necesariamente de un dispositivo de almacenamiento de datos, sino que puede ser utilizado también para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red.

Generalmente un sistema de archivos tiene directorios que asocian nombres de archivos con archivos, usualmente conectando el nombre de archivo a un índice en una tabla de asignación archivos de algún tipo, como FAT en sistemas de archivos MS-DOS o los inodos de los sistemas Unix. La estructura de directorios puede ser plana o jerárquica (ramificada o "en árbol"). En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son alojados separadamente.

En sistemas de archivos jerárquicos, en lo usual, se declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta". La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún caracter especial que suele ser una barra ('/') o barra invertida ('\') y puede terminar en el nombre de un archivo presente en la última rama de directorios especificada.

Así, por ejemplo, en un sistema Unix la ruta a la canción preferida del usuario "pedvi" sería algo como:

 /home/pedvi/música/canción.wav

Un ejemplo análogo en un sistema de archivos Windows se vería como:

 C:\Mis documentos\Mi música\canción.wav


Los sistemas de archivos pueden ser clasificados en tres ramas:

  • Sistemas de archivos de disco.
  • Sistemas de archivos de red.
  • Sistemas de archivos de propósito especial.


Sistemas de archivos de disco

Un sistema de archivo de disco está diseñado para el almacenamiento de archivos en una unidad de disco, que puede estar conectada directa o indirectamente a la computadora.

Tipos:

  • Ext2 y 3.
  • FAT16 y 32.
  • NTFS.
  • ReiserFS
  • ISO 9660.


EXT2 (Second extended Filesystem o "Segundo sistema de archivos extendido"):
Fue el sistema de archivos estándar en el sistema operativo Linux por varios años y continúa siendo ampliamente utilizado.
Fue diseñado originalmente por Rémy Card.
La principal desventaja de EXT2 es que no posee una bitácora, por lo que muchos de sus usuarios están emigrando a ReiserFS y su sucesor EXT3.

EXT3 (Third extended Filesystem o "Tercer sistema de archivos extendido"):
Es un sistema de archivos con registro por diario (en inglés "journaling"), el cual se encuentra creciendo en popularidad entre usuarios del sistema operativo Linux.
A pesar de su menor desempeño y escalabilidad frente a alternativas como ReiserFS o XFS, posee la ventaja de permitir migrar del sistema de archivos EXT2 sin necesidad de reformatear el disco.
La única diferencia entre EXT2 y EXT3 es el registro por diario.
Un sistema de archivos EXT3 puede ser montado y usado como un sistema de archivos EXT2.

FAT (File Allocation Table o "Tabla de ubicación de archivos"):
Es el principal sistema de archivos desarrollado para MS-DOS y Windows.
El sistema de archivos FAT es relativamente sencillo, y debido a eso es muy popular como formato para disquetes. Además, el formato FAT es soportado por casi todos los sistemas operativos para PCs IBM, y debido a esto a menudo se lo utiliza para compartir información entre diversos sistemas operativos en un mismo equipo.
FAT es un sistema de archivos relativamente anticuado, y debido a esto sufre de varios problemas:
Para comenzar, su distribución de archivos simple permite la fragmentación, lo que produce eventuales pérdidas en el desempeño de operaciones sobre archivos.
Luego, FAT no fue diseñado para redundancia en caso de fallas del sistema.
Las primeras versiones de FAT permitían nombres de archivo de hasta 12 caracteres, aunque esto fue solucionado por Microsoft al inventar VFAT, el cual permite nombres de hasta 255 caracteres.
Finalmente, los sistemas de archivos FAT no permiten directivas de seguridad, garantizando el acceso a todos los archivos de una partición por cualquier usuario del sistema operativo.

NTFS (New Tecnology File System o "Sistema de archivos de nueva tecnología"):
Sistema de archivos diseñado específicamente para Windows NT, con el objetivo de crear un sistema de archivos eficiente, robusto y con seguridad incorporada desde su base.
También soporta compresión nativa de ficheros y encriptación (esto último sólo a partir de Windows 2000).
NTFS permite definir el tamaño del cluster, a partir de 512 bytes (tamaño mínimo de un sector) de forma independiente al tamaño de la partición.
Es un sistema adecuado para las particiones de gran tamaño requeridas en estaciones de trabajo de alto rendimiento y servidores.
Puede manejar discos de hasta 2 terabytes.
Los inconvenientes que plantea son:

  • Necesita para si mismo una buena cantidad de espacio en disco duro por lo que no es recomendable su uso en discos menores de 400 MB.
  • No es compatible con MS-DOS, Windows 95 ni Windows 98.
  • La conversión a NTFS es unidireccional, si elige actualizar la unidad, no podrá volver a convertirla a FAT.

ReiserFS:
Es un sistema de archivos de propósitos generales, diseñado e implementado por un equipo liderado por Hans Reiser.
Actualmente funciona bajo Linux, con la versión 2.4.1 del núcleo Linux, se convirtió en el primer sistema de archivos con registro por diario (en inglés, "journaling") en ser incluido en el núcleo estándar.
La ventaja más evidente sobre el sistema de archivos estándar de Linux, EXT2, es su registro por diario.
Esto reduce ampliamente el riesgo de corrupción del sistema de archivos (y la necesidad de extensas revisiones del sistema) después de un apagado no programado del sistema, ya sea por un corte eléctrico o un error del sistema.
Desafortunadamente, convertir un sistema a ReiserFS requiere para usuarios de EXT2 el reformateo completo de sus discos, una desventaja no presente en su principal competidor, EXT3.
ReiserFS maneja directorios conteniendo enormes cantidades de archivos pequeños muy eficientemente.

ISO 9660:
En el año 1985, diferentes distribuidores de software y fabricantes de hardware trabajaron conjuntamente obteniendo como fruto el llamado formato HSG, vigente aún hoy en día en los CD para ordenadores PC y también para muchos sistemas UNIX.
Todos los CD-ROM actuales están provistos de este formato.
El nombre de este formato viene de "High Sierra Group", que es el nombre que recibieron los diferentes técnicos que participaron en el desarrollo del HSG en honor al primer lugar donde se reunieron, el hotel y casino "High Sierra" en el estado de Nevada, Estados Unidos.
Un año después, las autoridades de normalización americanas ISO estandarizaron la propuesta, que se presentó bajo el título "Volume and File Structure of Compact Read Only Optical Disk for Information Interchange".
Desde entonces se habla de la norma ISO 9660 o simplemente de la ISO 9660.