La palabra "procfs" proviene de "process file
system". Antes de comenzar a estudiar el directorio
/proc de Linux, es
necesario comprender el término "archivo
virtual". La mayoría de usuarios de computadoras
comprenderán con mucha facilidad el término archivo
relacionándolo directamente con ejemplos tales como los
archivos de
texto que se
pueden generar con cualquier procesador de
texto. Una característica de este tipo de archivos es
que a mayor texto que almacena el archivo, mayor es el espacio en
disco que consume dicho archivo. Por ejemplo, una línea
corta de texto ocupa menos espacio en disco que esa misma
línea copiada cien veces. Sin embargo al hablar de
"archivos virtuales"las cosas son diferentes, pues este
tipo de archivos no consumen espacio en el disco duro,
sino que se almacenan en la memoria
volátil, es decir la aquel tipo de memoria cuya
información se pierde al interrumpirse el
flujo de corriente eléctrica, esto es, la memoria
RAM.
Para comprobar la diferencia entre un archivo que se
almacena en el disco duro y un archivo virtual, se puede hacer el
experimento de usar el comando "du" para ver el
tamaño de un archivo virtual y luego el comando
"cat" para ver su contenido, de esta forma:
root1@root:~$ du /proc/acpi/processor/CPU0/info
0
/proc/acpi/processor/CPU0/info
root1@root:~$ cat /proc/acpi/processor/CPU0/info
processor
id:
0
acpi
id:
0
bus mastering
control: no
power management:
no
throttling control: no
limit interface:
no
Como se pudo ver en el ejemplo anterior, al
usar "du /proc/acpi/processor/CPU0/info" aparece que el
archivo /proc/acpi/processor/CPU0/info usa un espacio en
el disco duro de 0, es decir que no está
consumiendo absolutamente nada de espacio en el disco duro. Sin
embargo, al usar "cat /proc/acpi/processor/CPU0/info" se
muestra que
/proc/acpi/processor/CPU0/info contiene la siguiente
información:
processor
id:
0
acpi
id:
0
bus mastering control: no
power management:
no
throttling control: no
limit interface:
no
Parece imposible que un archivo que contiene
6 líneas de información tenga un tama ño de
0. Sin embargo con esto se concluye que
/proc/acpi/processor/CPU0/info es un archivo virtual, es
decir que aunque tenga un tamaño de 0 bytes, puede
contener una gran cantidad de información.
Otra prueba interesante que se le puede hacer al archivo
/proc/acpi/processor/CPU0/info es la siguiente:
root1@root:~$ ls -la /proc/acpi/processor/CPU0/info
-r–r–r– 1 root root 0 2007-09-06 21:53
/proc/acpi/processor/CPU0/info
Al listar el archivo con "ls -la", aparece la
hora "21:53". Suponiendo que 8 minutos más tarde se
vuelve a realizar el mismo procedimiento, el
resultado será:
root1@root:~$ ls -la /proc/acpi/processor/CPU0/info
-r–r–r– 1 root root 0 2007-09-06 22:01
/proc/acpi/processor/CPU0/info
Lo que se muestra con eso es que el archivo
/proc/acpi/processor/CPU0/info está siendo
modificado constantemente aún cuando el usuario no lo
esté abriendo ni guardando cambios en dicho archivo. Eso
también revela el comportamiento
de un archivo virtual.
Debido a que el contenido de /proc no se encuentra
guardado en ningún dispositivo físico (disco duro,
CD, DVD, etc.),
sino que es construido y presentado dinámicamente, al
listar el contenido de uno de los directorios que se encuentra
dentro de /proc en dos momentos diferentes, es probable
que el contenido no coincida debido a que se reflejará lo
que hay en dos momentos distintos, en cada uno de los cuales se
mostrará el estado
actual del núcleo o kernel de Linux en un tiempo
determinado. Por esa razón el contenido de /proc
varía con el tiempo y de un sistema a otro
(por ejemplo, al disponer de hardware distinto). Lo mismo
ocurre al visualizar gráficamente el contenido de
/proc, que todo se mantiene en actualización
constante y pueden aparecer nuevos directorios o desaparecer
algunos sin que el usuario haya hecho ningún cambio
añadiendo o eliminando archivos o directorios.
Se puede afirmar entonces que el sistema de archivos virtual
/proc permite conocer el estado interno
del núcleo o kernel de Linux desde nivel de
usuario.
El sistema de archivos /proc permite tanto
revisar el estado como también modificar el comportamiento
del kernel o núcleo de Linux en cualquier
momento.
Como una excelente definición de /proc, se
puede decir que es una interfaz entre el kernel o núcleo
de Linux y el nivel de usuario con la forma de un sistema de
archivos virtual. La utilidad que esto
tiene es que se puede obtener y modificar la información
del núcleo de Linux interactuando con el sistema de
archivos /proc.
Página siguiente |