Introducción a jiffies en el kernel de Linux y sus efectos

  

El hardware proporciona un temporizador del sistema para que el kernel calcule y administre el tiempo. El kernel preselecciona la frecuencia del temporizador del sistema, es decir, la tasa de tick, y cada ciclo se denomina tick. El kernel de Linux comienza con el kernel 2.5 y aumenta la frecuencia de 100 a 1000 (por supuesto, trae muchas ventajas y algunas desventajas).

jiffies es una variable global en el kernel que se usa para registrar el inicio del sistema. El número de beats producidos. Por ejemplo, si el sistema de cómputo se está ejecutando durante mucho tiempo, se puede calcular utilizando la tasa jiffies /tick. Los jiffies se definen en el archivo:

jiffies volátiles largos sin firmar externos;

Puede usar los jiffies para establecer tiempos de espera, como:

tiempo de espera largo sin firmar = jiffies + tick_rate * 2; //Tiempo de espera después de 2 segundos

if (time_before (jiffies, timeout) {

//No hay tiempo de espera

}

else {

//Tiempo de espera agotado

}

El núcleo proporciona cuatro macros para comparar los conteos de tiempos. Estas macros están definidas en el archivo:

time_before (desconocido, conocido)

time_after (desconocido, conocido)

time_before_eq (desconocido, conocido)

time_after_eq (desconocido, conocido)

Use estas macros para evitar comparaciones Los Jiffies tienen un problema de envoltura debido a un tamaño excesivo.

Además del temporizador del sistema, hay un reloj relacionado con la hora: Reloj de tiempo real (RTC), que es un reloj de hardware utilizado para almacenar la hora del sistema de forma permanente. Apague la micro batería de la placa base para mantener la sincronización. Cuando se inicia el sistema, el núcleo comienza leyendo el RTC. Inicialice Wall Time y guárdelo en la variable xtime, que es la función principal de RTC.

Copyright © Conocimiento de Windows All Rights Reserved