¿Por qué se llama proc un sistema de archivos?


20

El procsistema de archivos permite que el núcleo comunique información sobre cada proceso en ejecución en un sistema Linux.

¿Por qué se procllama un sistema de archivos? No es un sistema de archivos real como ext4. Es solo una colección de archivos que contienen información sobre los procesos en ejecución.

Respuestas:


25

/proces un sistema de archivos debido a los procesos de usuario puede navegar a través de él con llamadas al sistema familiar y llamadas a las bibliotecas, como opendir(), readdir(), chdir()y getcwd(). Incluso open(), read()y close()trabaja en muchos de los "archivos" que aparecen en /proc. Para la mayoría de los intentos y casi todos los propósitos, /proces un sistema de archivos, a pesar de que sus archivos no ocupan bloques en algún disco.

Supongo que todos deberíamos aclarar qué definición del término "sistema de archivos" estamos usando actualmente. En el contexto de ext4, cuando escribimos "sistema de archivos", probablemente estamos hablando de la combinación de un diseño de bloques de disco, especificación de información de metadatos sobre los bloques de disco que también reside en algún lugar del disco y el código que trata ese diseño en disco. En el contexto de /usr, /tmp, /var/runy así sucesivamente, que está escribiendo sobre un entendimiento o una conceptualización compartida de cómo nombrar algunas cosas. Esos dos usos del término "sistema de archivos" son bastante diferentes. /proces realmente el segundo tipo de "sistema de archivos", como has notado.


99
No hay ninguna razón para usar comillas aterradoras para los archivos, a /procmenos que uno piense que los archivos siempre están respaldados por disco (o con respaldo de cinta, con respaldo de CD o lo que sea con respaldo 9. No siempre lo están, piense en los discos RAM. Además, incluso una secuencia de apertura / escritura / cierre con un archivo "real" en /home, digamos, no siempre significa que los cambios correspondientes destinados a reflejar permanentemente el estado de este archivo en el almacenamiento en disco ya se han realizado y completado.
Hagen von Eitzen

10
tl; dr: porque es un sistema de archivos?
Jörg W Mittag

1
Tenga en cuenta que esto también explica el dicho "En Linux, todo es un archivo".
dr01

Es un sistema de archivos de manera similar a la pantalla es un "escritorio". La terminología informática abunda en metáforas.
Barmar

18

es solo un área de archivos que contiene información

Pero eso es exactamente lo que un sistema de archivos es . Los sistemas de archivos no tienen que poder escribirse y no tienen que residir en un almacenamiento permanente.

Nota: Hay una distinción entre procfs(la implementación del pseudo sistema de archivos en el núcleo) y su punto de montaje convencional /proc. En teoría, podrías montar un en procfscualquier lugar, pero eso es raro. Debido a eso, las personas a menudo hablan /proccuando realmente quieren decir procfs.

procfsse llama un pseudo sistema de archivos porque los archivos en un procfsno son creados por las operaciones habituales del sistema de archivos, pero son agregados y eliminados por la implementación del sistema de archivos en función de lo que sucede en otras partes del núcleo.


Entonces, ¿por qué / etc / boot, por ejemplo, no se llama sistema de archivos?
Makhlouf GHARBI

77
Porque son directorios en un sistema de archivos. (Bueno, con /bootfrecuencia es un sistema de archivos separado, pero no es un tipo de sistema de archivos separado )
Cjm

9

Si los datos se organizan de manera tal que se pueda acceder a ellos a través de los mecanismos utilizados para los sistemas de archivos, puede llamar a todo un sistema de archivos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.