Las funciones primarias del kernel de Linux son controlar el acceso a los dispositivos físicos del ordenador y establecer cuándo y cómo deben de tener lugar la interacción entre estos dispositivos.
Dentro del directorio /proc/, se puede encontrar una gran cantidad de información con detalles sobre el hardware del sistema y cualquier proceso que se esté ejecutando actualmente. Además, algunos de los archivos dentro del árbol de directorios /proc/ pueden ser manipulados por los usuarios y aplicaciones para comunicar al kernel cambios en la configuración.
En Linux, todo se guarda en archivos. La mayoría de usuarios están familiarizados con los dos primeros tipos de archivos, de texto y binarios. Sim embargo, el directorio /proc contiene archivos que no son parte de ningún sistema de archivos asociado a los discos duros, CD-ROM o cualquier otro dispositivo físico de almacenamiento conectado a su sistema (excepto la RAM). Mejor dicho, estos archivos forman parte de un sistema de archivos virtual habilitado o deshabilitado en el kernel de Linux cuando está compilado.
Los archivos virtuales poseen cualidades únicas. En primer lugar, la mayoría de ellos tienen un tamaño de 0 bytes. Sin embargo, cuando se visualiza el archivo, éste puede contener una gran cantidad de información. Además, la mayoría de configuraciones del tiempo y las fechas reflejan el tiempo y fecha real, lo que es un indicativo de que están siendo constantemente modificados.
Archivos virtuales tales como /proc/interrupts, /proc/meminfo, /proc/mounts, y /proc/partitions proveen una vista rápida actualizada del hardware del sistema. Otros, como /proc/filesystems y el directorio /proc/sys/ proveen información de configuración y de las interfaces.
Además, un gestor de sistemas puede utilizar /proc como método sencillo de información de acceso sobre el estado del kernel, los atributos de las máquinas, los estados de los procesos individuales y mucho más. La mayoría de archivos en este directorio, tales como interrupts, meminfo, mounts y partitions proporcionan una idea de lo que es un entorno de sistemas. Otros como sistema de archivos y el directorio /proc/sys/ dan información sobre la configuración del software. Para facilitar las cosas, los archivos que contienen información sobre un tema parecido se agrupan en directorios virtuales y en subdirectorios, tales como /proc/ide.
Mediante el uso de los comandos cat, more, o less en los archivos dentro del directorio /proc/, los usuarios pueden inmediatamente accesar una cantidad enorme de información acerca del sistema. Por ejemplo, para desplegar el tipo de CPU que tiene un equipo, escriba cat /proc/cpuinfo para recibir una salida similar a lo siguiente:
processor:0 vendor_id:AuthenticAMD cpufamily:5 model:9 modelname:AMD-K6(tm)3D+Processor stepping:1 cpuMHz:400.919 cachesize:256KB fdiv_bug:no hlt_bug:no f00f_bug:no coma_bug:no fpu:yes fpu_exception:yes cpuidlevel:1 wp:yes flags:fpuvmedepsetscmsrmcecx8pgemmxsyscall3dnowk6_mtrr bogomips:799.53 |
Como puede ver en el sistema de archivos /proc/, alguna información tiene sentido, mientras que otras áreas aparecen en un código extraño. Por eso es que existen utilidades para extraer información de los archivos virtuales y mostrarla en una forma útil. Ejemplos de estas utilidades incluyen lspci, apm, free, y top.
![]() | Nota |
---|---|
Algunos archivos en el directorio /proc/ están configurados para que se puedan leer sólo por el usuario root. |
En general, todos los archivos que se encuentran en el directorio /proc solamente se pueden leer. Sin embargo, algunos se pueden usar para ajustar la configuración del kernel. Esto ocurre con los archivos del subdirectorio /proc/sys/.
Para cambiar el valor de un archivo virtual use el comando echo y el símbolo > para redirigir el nuevo valor al archivo. De hecho, para cambiar el nombre del host escriba:
echo www.example.com>/proc/sys/kernel/hostname |
Otros archivos actúan como intercambiadores binarios o boleanos. Si escribe cat /proc/sys/net/ipv4/ip_forward verá el valor 0 o el valor 1. El valor 0 indica que el kernel no está realizando el forwarding de los paquetes. Si usa el comando echo para cambiar el valor del archivo ip_forward a 1, el kernel activará inmediatamente el forwarding de los paquetes.
![]() | Sugerencia |
---|---|
Otro comando que se usa para cambiar la configuración del subdirectorio /proc/sys/ es /sbin/sysctl. Para mayor información consulte Sección 5.4 |
Para consultar la lista de los archivos de configuración del kernel disponibles en /proc/sys/ vaya a Sección 5.3.9.