A veces nos referimos a ellos como filesystems
, porque a veces esos directorios son puntos de montaje. Demasiado para la única pregunta que hiciste ...
filesystem
puede referirse a dos cosas diferentes ... o en realidad dos aspectos muy diferentes de la misma cosa:
- La estructura lógica utilizada para organizar los datos en un medio de almacenamiento.
- La metodología utilizada por el sistema operativo para ofrecer procesos de acceso unificado a los datos.
El concepto de archivos y directorios es una metáfora. Para una computadora solo hay datos y todos los medios no son más que dispositivos que pueden contener datos. Algunos dispositivos permiten leer y escribir datos (por ejemplo, HDD), otros dispositivos solo permiten leer datos (por ejemplo, CD-ROM) e incluso hay dispositivos que permiten solo escribir datos (por ejemplo, impresora). Utilizamos la metáfora del archivo y el directorio para estructurar los datos, de modo que podamos acceder a pequeños fragmentos de datos, en lugar de todo a la vez.
Los sistemas de archivos que colocamos en los medios de almacenamiento, por ejemplo, ext4, xfs, fat, hacen la parte de estructuración. Los usamos para poner etiquetas en fragmentos de datos (archivos) y para tener una lista estructurada consistente de todas las etiquetas (directorios). La lista estructurada es en realidad un árbol. El aspecto más importante es que un árbol tiene exactamente un principio, su raíz. Mantener esta estructura y garantizar que los datos sean y sigan siendo accesibles es una tarea bastante sencilla, por lo que no hay un solo sabor de sistema de archivos.
El otro aspecto de los sistemas de archivos es que el trabajo del sistema operativo es hacer que los datos almacenados en los dispositivos de almacenamiento sean accesibles para todos los programas. Esto se logra por dos cosas:
El sistema operativo ofrece precisamente una interfaz (de programación) para acceder e interactuar con archivos y directorios. Para programas / procesos, no importa si el sistema de archivos en el dispositivo de almacenamiento es ext2, xfs, fat o lo que sea. Los programas / procesos acceden a archivos y directorios de manera uniforme.
El sistema operativo organiza todos los medios de almacenamiento, es decir, sus sistemas de archivos, en una estructura superior. Los programas acceden a archivos y directorios a través de esta estructura superior y no necesitan interactuar directamente con los dispositivos de almacenamiento. De esa manera, los programas no necesitan preocuparse sobre en qué dispositivo residen realmente los datos. Esta estructura superior a menudo se denomina "sistema de archivos virtual" del núcleo.
Agregar el sistema de archivos de un dispositivo de almacenamiento al sistema de archivos virtual se llama "montar" un sistema de archivos. Cuando su Linux se está iniciando, el núcleo crea el sistema de archivos virtual (VFS). Justo después de la creación, está vacío y consiste solo en su punto de entrada, también conocido como su raíz, transcrito /
. Luego, el núcleo monta un sistema de archivos en la raíz del VFS. Esto es un ramdisk o inmediatamente un sistema de archivos en una partición en un disco duro. Como se agrega en la raíz del VFS, esta partición a menudo se conoce como el sistema de archivos raíz.
Ahora aquí viene la parte donde las líneas se difuminan y vemos que los sistemas de archivos en los dispositivos de almacenamiento y el VFS del núcleo son en realidad dos aspectos de la misma tarea del sistema operativo: con el montaje de un sistema de archivos raíz, el VFS contiene muchos archivos y directorios, todos los cuales existe en la partición raíz. Sin embargo, cada directorio puede convertirse en un "punto de montaje". Un punto de montaje es donde el VFS coloca el punto de entrada a un sistema de archivos en un dispositivo de almacenamiento. Esto significa que cada vez que montamos un sistema de archivos en un directorio, le decimos al VFS que en lugar de acceder a los datos almacenados en ese directorio, preferimos acceder a los datos en un dispositivo de almacenamiento diferente. Los puntos de montaje suelen ser directorios vacíos, por lo que no hacemos que los datos sean inaccesibles al montar otros sistemas de archivos en la parte superior.
Cuando instala su sistema operativo, depende de usted si desea colocar todos los datos en un sistema de archivos que luego se convierte en su sistema de archivos raíz, o si desea dividir sus datos entre múltiples sistemas de archivos. Este último requiere que su sistema operativo monte todos los sistemas de archivos individuales, para que todos los datos sean accesibles. La forma en que divide las cosas es una cuestión de cómo diseña su sistema. Es por eso que a veces los directorios que conoce de su instalación se denominan sistemas de archivos.
Para las computadoras que generalmente tenemos en casa, ya no es necesario dividir su instalación en múltiples sistemas de archivos. Aún así, puede haber buenas razones para hacerlo, pero esto está fuera del alcance de esta publicación.
Para mantener breve el resto de esta publicación: las particiones son otro medio de estructurar datos en dispositivos de almacenamiento. Con las particiones, se obtiene un espacio de almacenamiento contiguo desde un dispositivo de almacenamiento físico y se ofrecen como dispositivos de almacenamiento individuales al sistema operativo (en el que se pueden colocar sistemas de archivos para montar en el VFS). Una razón para hacerlo puede ser que uno solo tiene un disco duro, pero quiere emplear muchos sistemas de archivos diferentes. La partición en la que vive el sistema de archivos raíz a menudo se denomina partición raíz.