El kernes de Linux tiens dos funciones primarias: 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. El directorio /proc/ — también llamado el sistema de archivos proc — contiene una jerarquía de archivos especiales que representan el estado actual del kernel — permitiendo a las aplicaciones y usuarios mirar detenidamente en la vista del kernel del sistema.
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.
Los 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 del sistema e 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 cpu family : 5 model : 9 model name : AMD-K6(tm) 3D+ Processor stepping : 1 cpu MHz : 400.919 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_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 mayor que >, para redirigir el nuevo valor al archivo. De hecho, para cambiar el nombre del host rápidamente escriba:
echo www.example.com > /proc/sys/kernel/hostname |
Otros archivos actúan como conmutadores 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 reenvio de paquetes. Si usa el comando echo para cambiar el valor del archivo ip_forward a 1, el kernel activará inmediatamente el reenvio de paquetes.
![]() | Sugerencia |
---|---|
Otro comando que se usa para cambiar la configuración en el subdirectorio /proc/sys/ es /sbin/sysctl. Para mayor información consulte la Sección 5.4 |
Para ver una lista de algunos de los archivos de configuración del kernel disponibles en /proc/sys/ vaya a la Sección 5.3.9.