Estructura de directorios (File System)

El sistema de archivos (File System) es una gran colección de directorios y archivos que guardan todo tipo de información. En sistemas de muchos usuarios se pueden tener cientos o miles de archivos. Para organizar y proteger todos estos archivos, en los sistemas UNIX, los archivos se organizan en directorios que a la vez pueden contener además de archivos otros directorios subdirectorios).
Los directorios en los sistemas UNIX están organizados conservando cierta jerarquía, como se muestra en la siguiente figura esquemática:
                                 / (root)
                                 |
  __________________|___________________
      |       |       |       |       |       |       |
    bin    dev   etc   lib     tmp   u    usr
                                                    |
                      _________________|_____
                         |      |      |      |       |      |
                       local    bin    lib    tmp    adm
                         |
          _________|________
              |      |      |       |
             bin   lib    src    class
Todos los directorios están debajo del directorio root denotado por "/". Los directorios usr y local están expandidos para así mostrar los subdirectorios. Ya que el directorio root es la raíz de todos los directorios, para indicar el camino de un directorio particular se utiliza la siguiente notación:
/usr      /usr/lib      usr/local/lib
El símbolo "/" utilizado al comienzo para indicar el directorio raíz no debe ser confundido con las siguientes "/" que son utilizados para separar los nombres de los directorios.
http://www.cecalc.ula.ve/bioinformatica/UNIX/node10.html



Los sistemas de archivos o ficheros (filesystem en inglés), estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos manejan su propio sistema de archivos.[1]
Lo habitual es utilizar 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 práctica, un sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red (sin la intervención de un dispositivo de almacenamiento).
Los sistemas de archivos tradicionales proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de métodos 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 básicos puede estar basado en los esquemas de lista de control de acceso o capacidades. Las listas de control de acceso hace décadas que demostraron ser inseguras, por lo que los sistemas operativos experimentales utilizan el acceso por capacidades. Los sistemas operativos comerciales aún funcionan con listas de control de acceso

Rutas y nombre de archivos

external image 200px-FilesAndFolders.pngexternal image magnify-clip.png
Normalmente los archivos y carpetas se organizan jerárquicamente.

La estructura de directorios suele ser jerárquica, ramificada o "en árbol", aunque en algún caso podría ser plana. 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 los sistemas de archivos jerárquicos, usualmente, se declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta" —o path en inglés—. 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 carácter especial que suele ser una diagonal ('/') o diagonal 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 canción llamada "canción.ogg" del usuario "pedro" sería algo como:
/home/pedro/musica/cancion.[[http://es.wikipedia.org/wiki/Ogg|ogg]]
 
donde:
  • '/' representa el directorio raíz donde está montado todo el sistema de archivos.
  • 'home/pedro/musica/' es la ruta del archivo.
  • 'canción.ogg' es el nombre del archivo.
que se establece como único.

Ejemplo de 'ruta' en un sistema Windows

Un ejemplo análogo en un sistema de archivos de Windows (específicamente en Windows XP) se vería como:
C:\Documents and Settings\pedro\Mis Documentos\Mi Música\canción.ogg
 
donde:
  • 'C:' es la unidad de almacenamiento en la que se encuentra el archivo.
  • '\Documents and Settings\pedro\Mis Documentos\Mi Música\' es la ruta del archivo.
  • 'canción' es el nombre del archivo.
  • '.ogg' es la extensión del archivo, este elemento, parte del nombre, es especialmente relevante en los sistemas Windows, ya que sirve para identificar qué aplicación está asociada con el archivo en cuestión, es decir, con qué programa se puede editar o reproducir el archivo.
El sistema recomendado es NTFS.
FAT y FAT32 son similares entre sí, excepto en que FAT32 está diseñado para discos de mayor tamaño que FAT.El sistema de archivos que funciona mejor con discos de gran tamaño es NTFS.
NTFS siempre ha sido un sistema de archivos más eficaz que FAT y FAT32.
Windows 2000 - XP incluye una versión nueva de NTFS, con compatibilidad para una gran variedad de características, incluido Active Directory, que es necesario para los dominios, cuentas de usuario y otras características de seguridad importantes.
El programa de instalación facilita la conversión de la partición a la nueva versión de NTFS, incluso si antes utilizaba FAT o FAT32. Este tipo de conversión mantiene intactos los archivos (a diferencia de cuando se da formato a una partición). Si no necesita mantener intactos los archivos y dispone de una partición FAT o FAT32, se recomienda que dé formato a la partición con NTFS en lugar de convertirla desde FAT o FAT32. El hecho de dar formato a una partición borra todos los datos de la partición, pero una partición a la que se da formato con NTFS en vez de convertirla desde FAT o FAT32 tendrá menos fragmentación y mejor rendimiento.
Sin embargo, sigue siendo más ventajoso utilizar NTFS, independientemente de si se dio formato a la partición con NTFS o se convirtió. Una partición también puede convertirse después de la instalación mediante Convert.exe. Para obtener más información acerca de Convert.exe, después de finalizar la instalación, haga clic en Inicio, haga clic en Ejecutar, escriba cmd y, a continuación, presione Entrar, en la ventana de comandos, escriba help convert y, a continuación, presione Entrar.
Nota: Únicamente puede utilizar características importantes como Active Directory y la seguridad basada en dominios si elige NTFS como el sistema de archivos.
Existe una situación en la que es posible que desee seleccionar FAT o FAT32 como sistema de archivos.
Si es necesario disponer de un equipo que a veces ejecute un sistema operativo de una versión anterior y otras veces ejecute Windows 2000-XP, deberá tener una partición FAT o FAT32 como partición principal (o de inicio) en el disco duro.
Esto se debe a que los sistemas operativos anteriores, con una excepción, no pueden tener acceso a una partición si utiliza la última versión de NTFS. La única excepción es Windows NT versión 4.0 con Service Pack 4 o posterior, que tiene acceso a particiones con la última versión de NTFS, pero con algunas limitaciones. Windows NT 4.0 no puede tener acceso a archivos que se han almacenado mediante características de NTFS que no existían cuando se publicó Windows NT 4.0.
Sin embargo, para cualquier otra situación en la que no existan varios sistemas operativos, el sistema de archivos recomendado es NTFS.

La tabla siguiente describe la compatibilidad de cada sistema de archivos con varios sistemas operativos.

Resumen de características de los sistemas de Archivos

  • Seguridad o permisos
    • listas de control de acceso (ACLs)
    • UGO (Usuario, Grupo, Otros, o por sus siglas en inglés, User, Group, Others)
    • Capacidades granuladas
    • Atributos extendidos (ej.: sólo añadir al archivo pero no modificar, no modificar nunca, etc.)
  • Mecanismo para evitar la fragmentación
  • Capacidad de enlaces simbólicos o duros
  • Integridad del sistema de archivos (Journaling)
  • Soporte para archivos dispersos
  • Soporte para cuotas de discos
  • Soporte de crecimiento del sistema de archivos nativo

Tipo de sistemas de archivos

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.
Otros sistemas de archivos
-HFS. HFS es el Sistema de Archivo de Mac. Se usa en todo tipo de medio de almacenamiento, desde CD y DVD hasta el Disco Duro.
-HFS+. HFS+ es la variante moderna de HFS con soporte para una mayor capacidad de almacenamiento, unicode y mucho más.

Sistemas de archivos de red
Un sistema de archivos de red es el que accede a sus archivos a través de una red. Dentro de esta clasificación encontramos dos tipos de sistemas de archivos: los sistemas de archivos distribuidos (no proporcionan E/S en paralelo) y los sistemas de archivos paralelos (proporcionan una E/S de datos en paralelo).

Sistemas de archivos de propósito especial
(Special purpose file system). Aquellos tipos de sistemas de archivos que no son ni sistemas de archivos de disco, ni sistemas de archivos de red. Ejemplos: acme (Plan 9), archfs, cdfs, cfs, devfs, udev, ftpfs, lnfs, nntpfs, plumber (Plan 9), procfs, ROMFS, swap, sysfs, TMPFS, wikifs, LUFS, etc.

http://es.wikipedia.org/wiki/Sistema_de_archivos