Descargar

Sistema de Archivos Virtual /proc de Linux

Enviado por jaimemontoya


Partes: 1, 2

    1. Obtención de Información Útil del Sistema/Kernel desde /proc
    2. Directorios en /proc

    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.

    Partes: 1, 2
    Página siguiente