Articulo de referencia

sistema de archivos Unix

Diseño del sistema de archivos Unix versión 7 : subdirectorios de "/" y "/usr" Descripción general de la estructura de un sistema de archivos Unix En Unix y los sistemas operati...

Diseño del sistema de archivos Unix versión 7 : subdirectorios de "/" y "/usr"
Descripción general de la estructura de un sistema de archivos Unix

En Unix y los sistemas operativos inspirados en él, el sistema de archivos se considera un componente central del sistema operativo. [ 1 ] También fue una de las primeras partes del sistema que diseñó e implementó Ken Thompson en la primera versión experimental de Unix, de 1969. [ 2 ]

Al igual que en otros sistemas operativos, el sistema de archivos proporciona almacenamiento y recuperación de información, y es una de las diversas formas de comunicación entre procesos , ya que los numerosos programas pequeños que tradicionalmente conforman un sistema Unix pueden almacenar información en archivos para que otros programas puedan leerlos, aunque las tuberías complementaron esta función a partir de la Tercera Edición . Además, el sistema de archivos proporciona acceso a otros recursos a través de los llamados archivos de dispositivo , que son puntos de entrada a terminales , impresoras y ratones .

El resto de este artículo utiliza Unix como nombre genérico para referirse tanto al sistema operativo Unix original como a sus numerosos sistemas similares .

Principios

El sistema de archivos aparece como un árbol de directorios con raíz. [ 1 ] En lugar de abordar volúmenes separados, como particiones de disco , medios extraíbles y recursos compartidos de red , como árboles separados, dichos volúmenes pueden montarse en un directorio, lo que hace que el árbol del sistema de archivos del volumen aparezca como ese directorio en el árbol más grande. [ 1 ] La raíz de todo el árbol se denota /.

En el Unix original de Bell Labs , era habitual una configuración de dos discos, donde el primer disco contenía los programas de inicio, mientras que el segundo contenía los archivos y programas de los usuarios. Este segundo disco se montaba en el directorio vacío con el nombre especificado usren el primer disco, lo que hacía que los dos discos aparecieran como un único sistema de archivos, y el contenido del segundo disco se podía ver en /usr.

En los sistemas de archivos Unix, los directorios no contienen archivos. En su lugar, contienen los nombres de los archivos junto con referencias a los llamados inodos , que a su vez contienen tanto el archivo como sus metadatos (propietario, permisos, hora del último acceso, etc., pero no el nombre). Varios nombres en el sistema de archivos pueden referirse al mismo archivo, una característica denominada enlace duro . [ 1 ] Las características matemáticas de los enlaces duros hacen que el sistema de archivos sea un tipo limitado de grafo dirigido acíclico , aunque los directorios siguen formando un árbol, ya que normalmente no están enlazados de forma dura. Tal como se concibió originalmente en 1969, el sistema de archivos Unix se utilizaría, de hecho, como un grafo general con enlaces duros a directorios que proporcionarían navegación, en lugar de nombres de ruta. [ 2 ]

Tipos de archivo

El sistema de archivos Unix original admitía tres tipos de archivos: archivos ordinarios, directorios y "archivos especiales", también denominados archivos de dispositivo. [ 1 ] La distribución de software de Berkeley (BSD) y System V añadieron cada una un tipo de archivo para ser utilizado para la comunicación entre procesos : BSD añadió sockets , [ 3 ] mientras que System V añadió archivos FIFO .

BSD también añadió enlaces simbólicos (a menudo denominados "symlinks") a la gama de tipos de archivo, que son archivos que hacen referencia a otros archivos y complementan los enlaces duros. [ 3 ] Los enlaces simbólicos se modelaron a partir de una característica similar en Multics , [ 4 ] y se diferencian de los enlaces duros en que pueden abarcar sistemas de archivos y que su existencia es independiente del objeto de destino. Otros sistemas Unix pueden admitir tipos de archivos adicionales. [ 5 ]

Diseño de directorio convencional

Existen ciertas convenciones para localizar algunos tipos de archivos, como programas, archivos de configuración del sistema y directorios personales de los usuarios . Estas se documentaron por primera vez en la hier(7)página man desde la versión 7 de Unix ; [ 6 ] las versiones posteriores, derivadas y clones suelen tener una página man similar. [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ]

Los detalles de la estructura de directorios han variado con el tiempo. Si bien la estructura del sistema de archivos no forma parte de la Especificación Única de UNIX , existen varios intentos de estandarizar (partes de) ella, como la Interfaz Binaria de Aplicaciones de System V , el Estándar de Compatibilidad Binaria de Intel , el Entorno Común de Sistemas Operativos y el Estándar de Jerarquía del Sistema de Archivos (FHS) de FreeDesktop . [ 13 ]

A continuación se presenta una descripción general de las ubicaciones comunes de archivos en un sistema operativo Unix:

Véase también

Referencias

  • Este artículo incorpora material del artículo de Citizendium " Sistema de archivos Unix ", que está bajo la licencia Creative Commons Attribution-ShareAlike 3.0 Unported , pero no bajo la GFDL .
  1. 1 2 3 4 5 Ritchie, DM ; Thompson, K. (julio de 1978). "El sistema de tiempo compartido UNIX". Bell System Tech. J. 57 ( 6): 1905–1929 . CiteSeerX 10.1.1.112.595 . doi : 10.1002/j.1538-7305.1978.tb02136.x . 
  2. 1 2 Ritchie, Dennis M. (1979). La evolución del sistema de tiempo compartido Unix . Conferencia sobre diseño de lenguajes y metodología de programación. Archivado del original el 8 de abril de 2015. Recuperado el 20 de abril de 2014 .
  3. 1 2 Leffler, Samuel J. ; McKusick, Marshall Kirk ; Karels, Michael J. ; Quarterman, John S. (octubre de 1989). El diseño e implementación del sistema operativo UNIX 4.3BSD . Addison-Wesley . ISBN 978-0-201-06196-3.
  4. McKusick, Marshall Kirk; et al. "Un sistema de archivos rápido para Unix" (PDF) . Freebsd.org . CSRG, UC Berkeley . Consultado el 16 de noviembre de 2016 . 
  5. Manual del programador de Linux – Llamadas al sistemastat(2)  
  6. 1 2Versión 7 Manual del programador de Unixhier(7)  
  7. Manual de información miscelánea de FreeBSDhier(7)  
  8. Manual de información miscelánea de OpenBSDhier(7)  
  9. "Página de manual hier(7) para 2.9.1 BSD" .
  10. ^ "página de manual hier(7) para ULTRIX 4.2" .
  11. "Página de manual hier(7) para SunOS 4.1.3" .
  12. Manual del programador de Linux – Descripción general, convenciones y misceláneahier(7)  
  13. George Kraft IV (1 de noviembre de 2000). "¿Dónde instalar mis productos en Linux?" . Linux Journal . Consultado el 13 de noviembre de 2014 .
  14. 1 2 3 4 Kernighan, Brian W. ; Pike, Rob (1984). El entorno de programación UNIX . Prentice-Hall. pp. 63–65 . Bibcode : 1984upe..book.....K . 
  15. 1 2 Ritchie, Dennis. "Notas de Unix de 1972" . Recuperado el 7 de septiembre de 2025 .
  16. Interfaz binaria de aplicación System V, edición 4.1 (18/03/1997)
  17. MD McIlroy (1987). "Un lector de Research Unix: extractos anotados del Manual del programador, 1971–1986" (PDF) . Bell Labs. CSTR 139.
  18. "Capítulo 7. sendmail" . UNICOS /mp Administración de instalaciones de red . Cray . Archivado del original el 9 de noviembre de 2017. Recuperado el 14 de septiembre de 2013 .
  19. "fhs-spec revisión 44" . Archivado del original el 5 de marzo de 2017. Consultado el 14 de julio de 2016 .