/proc
es 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, /proc
es 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/run
y 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. /proc
es realmente el segundo tipo de "sistema de archivos", como has notado.
/proc
menos 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.