Los sistemas de archivos (filesystem en ingls), estructuran la informacin guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego ser representada ya sea textual o grficamente utilizando un gestor de archivos. La mayora de los sistemas operativos poseen su propio sistema de archivos.
Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamao, a veces llamados sectores, usualmente de 512 bytes de longitud. El software del sistema de archivos es responsable de la organizacin de estos sectores en archivos y directorios y mantiene un registro de qu sectores pertenecen a qu archivos y cules no han sido utilizados.
En la prctica, un sistema de archivos tambin puede ser utilizado para acceder a datos generados dinmicamente, como los recibidos a travs de una conexin de red (sin la intervencin de un dispositivo de almacenamiento).
Los sistemas de archivos tradicionales proveen mtodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de mtodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro en Unix) o renombrar enlaces padres (".." en Unix).
El acceso seguro a sistemas de archivos bsicos puede estar basado en los esquemas de lista de control de acceso o capacidades. Las listas de control de acceso hace dcadas que demostraron ser inseguras, por lo que los sistemas operativos experimentales utilizan el acceso por capacidades. Los sistemas operativos comerciales an funcionan con listas de control de acceso.
El directorio raz
Este ndice es un tipo especial de archivo que almacena las subcarpetas y archivos que componen cada carpeta. Cada entrada del directorio contiene el nombre del archivo o carpeta (mximo 8 caracteres), su extensin (mximo 3 caracteres), sus atributos (archivo, carpeta, oculto, del sistema, o volumen), la fecha y hora de creacin, la direccin del primer cluster donde estn los datos, y por ltimo, el tamao que ocupa. El directorio raz ocupa una posicin concreta en el sistema de archivos, pero los ndices de otras carpetas ocupan la zona de datos como cualquier otro archivo. Los nombres largos se almacenan ocupando varias entradas en el ndice para el mismo archivo o carpeta.
Rutas y nombre de archivos Generalmente un sistema de archivos tiene directorios que asocian un nombre de archivo a cada archivo, usualmente conectando el nombre de archivo a un ndice en una tabla de asignacin de archivos de algn tipo como FAT en sistemas de archivos MS-DOS o los inodos de los sistemas Unix.
La estructura de directorios suele ser jerrquica, ramificada o "en rbol", aunque en algn caso podra ser plana. En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y nmeros de versin. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son alojados separadamente.
En
los sistemas de archivos jerrquicos, usualmente, se declara la ubicacin precisa de un archivo con una cadena de texto llamada "ruta" o path en ingls. La nomenclatura para rutas vara ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesin de nombres de directorios y subdirectorios, ordenados jerrquicamente de izquierda a derecha y separados por algn carcter 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.
Ejemplo de 'ruta' en un sistema Unix As, por ejemplo, en un sistema tipo Unix como GNU/Linux, la ruta para la cancin llamada "cancion.ogg" del usuario "pedro" sera algo como: /home/pedro/musica/cancion.ogg donde: '/' representa el directorio raiz donde est montado todo el sistema de archivos. 'home/pedro/musica/' es la ruta del archivo. 'cancion.ogg' es el nombre del archivo que se establece como unico
Ejemplo de 'ruta' en un sistema Windows Un ejemplo anlogo en un sistema de archivos de Windows (especficamente en Windows XP) se vera como: C:\Documents and Settings\pedro\Mis Documentos\Mi msica\cancin.ogg donde: 'C:\' es la unidad de almacenamiento en la que se encuentra el archivo. 'Documents and Settings\pedro\Mis Documentos\Mi msica\' es la ruta del archivo. 'cancin' es el nombre del archivo. '.ogg' es la extensin del archivo, este elemento, parte del nombre, es especialmente relevante en los sistemas Windows, ya que sirve para identificar qu aplicacin est asociada con el archivo en cuestin, es decir, con qu programa se puede editar o reproducir el archivo.
La tabla de asignacin de archivos Una particin se divide en un conjunto de clusters de idntico tamao. Son pequeos bloques discontinuos. El tamao del clster depende de la variante de FAT utilizada. Vara entre 2 y 32 kilobytes.
Cada
archivo ocupa uno o ms clusters en funcin de su tamao. De manera que un archivo queda representado por una cadena secuencial de clusters (una lista enlazada). Cada clster de la cadena no tiene por qu ser adyacente al anterior. Esto es lo que provoca la fragmentacin.
La tabla de asignacin de archivos consta de una lista de entradas. Cada entrada contiene informacin sobre un clster:
* La direccin del siguiente clster en la cadena. * Si es pertinente, la indicacin de "fin de archivo" (que
es tambin el fin de la cadena).
El directorio raz Este ndice es un tipo especial de archivo que almacena las sub-carpetas y archivos que componen cada carpeta. Cada entrada del directorio contiene el nombre del archivo o carpeta (mximo 8 caracteres), su extensin (mximo 3 caracteres), sus atributos (archivo, carpeta, oculto, del sistema, o volumen), la fecha y hora de creacin, la direccin del primer cluster donde estn los datos, y por ltimo, el tamao que ocupa.
El directorio raz ocupa una posicin concreta en el sistema de archivos, pero los ndices de otras carpetas ocupan la zona de datos como cualquier otro archivo.
Los nombres largos se almacenan ocupando varias entradas en el ndice para el mismo archivo o carpeta.
Se utiliza como mecanismo de intercambio de datos entre sistemas operativos distintos que coexisten en el mismo computador, lo que se conoce como entorno multiarranque. Tambin se utiliza en tarjetas de memoria y dispositivos similares.
Las implementaciones ms extendidas de FAT tienen algunas desventajas. Cuando se borran y se escriben nuevos archivos tiende a dejar fragmentos dispersos de stos por todo el soporte. Con el tiempo, esto hace que el proceso de lectura o escritura sea cada vez ms lento. La denominada desfragmentacin es la solucin a esto, pero es un proceso largo que debe repetirse regularmente para mantener el sistema de archivos en perfectas condiciones.
FAT tampoco fue diseado para ser redundante ante fallos. Inicialmente solamente soportaba nombres cortos de archivo: ocho caracteres para el nombre ms tres para la extensin. Tambin carece de permisos de seguridad: cualquier usuario puede acceder a cualquier archivo.
FAT16 En 1987 apareci lo que hoy se conoce como el formato FAT16. Se elimin el contador de sectores de 16 bits. El tamao de la particin ahora estaba limitado por la cuenta de sectores por clster, que era de 8 bits. Esto obligaba a usar clusters de 32 Kbytes con los usuales 512 bytes por sector. As que el lmite definitivo de FAT16 se situ en los 2 gigabytes.
Esta mejora estuvo disponible en 1988 gracias a MS-DOS 4.0. Mucho ms tarde, Windows NT aument el tamao mximo del cluster a 64 kilobytes gracias al "truco" de considerar la cuenta de clusters como un entero sin signo. No obstante, el formato resultante no era compatible con otras implementaciones de la poca, y adems, generaba mucha fragmentacin interna (se ocupaban clusters enteros aunque solamente se precisaran unos pocos bytes).
Windows 98 fue compatible con esta extensin en lo referente a lectura y escritura. Sin embargo, sus utilidades de disco no eran capaces de trabajar con ella.
FAT32
FAT32 fue la respuesta para superar el lmite de tamao de FAT16 al mismo tiempo que se mantena la compatibilidad con MS-DOS en modo real. Microsoft decidi implementar una nueva generacin de FAT utilizando direcciones de cluster de 32 bits (aunque slo 28 de esos bits se utilizaban realmente). En teora, esto debera permitir aproximadamente 268.435.538 clusters, arrojando tamaos de almacenamiento cercanos a los dos terabytes. Sin embargo, debido a limitaciones en la utilidad ScanDisk de Microsoft, no se permite que FAT32 crezca ms all de 4.177.920 clusters por particin (es decir, unos 124 gigabytes).
Posteriormente, Windows 2000 y XP situaron el lmite de FAT32 en los 32 gigabytes. Microsoft afirma que es una decisin de diseo, sin embargo, es capaz de leer particiones mayores creadas por otros medios. FAT32 apareci por primera vez en Windows 95 OSR2. Era necesario reformatear para usar las ventajas de FAT32. Curiosamente, DriveSpace 3 (incluido con Windows 95 y 98) no lo soportaba.
Windows 98 incorpor una herramienta para convertir de FAT16 a FAT32 sin prdida de los datos. Este soporte no estuvo disponible en la lnea empresarial hasta Windows 2000.
El tamao mximo de un archivo en FAT32 es 4 gigabytes, lo que resulta engorroso para aplicaciones de captura y edicin de video, ya que los archivos generados por stas superan fcilmente ese lmite.