Pregunta:
¿Con qué frecuencia se actualiza el sistema de archivos proc
en Linux? ¿Son 20 milisegundos (tiempo cuántico)?
Respuesta:
La información que lee del sistema de archivos proc no se almacena en ningún medio (ni siquiera en la RAM), por lo que no hay nada que actualizar.
El propósito del sistema de archivos proc es permitir que los programas del espacio de usuario obtengan o establezcan datos del kernel usando la semántica del sistema de archivos simple y familiar ( open
, close
, read
, write
, lseek
), aunque los datos que se leen o escriben no lo hacen. residir en cualquier medio. Esta decisión de diseño se consideró mejor (por ejemplo, legible por humanos y fácilmente programable) para obtener y configurar datos cuyo formato no se pudo especificar de antemano que implementar algo como OID codificados en ASN1, que también habría funcionado bien.
Los datos que ves cuando lees del sistema de archivos proc se generan sobre la marcha cuando haces una lectura desde el principio de un archivo. Es decir, hacer la lectura hace que los datos sean generados por una función de devolución de llamada del kernel que es específica del archivo que está leyendo. Hacer una lseek
al comienzo del archivo y volver a leer provoca otra llamada a la devolución de llamada que genera los datos nuevamente. De manera similar, cuando escribe en un archivo grabable en el sistema de archivos proc, se llama a una función de devolución de llamada que analiza la entrada y establece las variables del kernel. Los datos de entrada en su forma sin procesar no se almacenan.
Lo anterior es solo una forma un poco más detallada de decir lo que Hauke Laging afirma de manera tan sucinta. Le sugiero que acepte su respuesta.