La diferencia entre CLOCK_MONOTONIC y CLOCK_REALTIME
CLOCK_MONOTONIC se refiere al tiempo monótono, mientras que CLOCK_REALTIME se refiere al tiempo de la pared.
Tiempo monótono significa literalmente tiempo monótono. De hecho, se refiere al tiempo que transcurre después de que se inicia el sistema. Esto lo registra la variable jiffies. Cuando el sistema se inicia cada vez, jiffies se inicializa. 0. Cuando llega cada interrupción del temporizador, la variable jiffies aumenta en 1, por lo que esta variable representa el número de tics transcurridos después de que se inicia el sistema. Los santiamén deben aumentar monótonamente porque el tiempo es irreversible.
Wall time significa literalmente la hora del reloj de pared. De hecho, se refiere al tiempo real, que es registrado por la variable xtime. Cada vez que se inicia el sistema, la hora RTC en el CMOS se lee en xtime. Este valor es el número de segundos que han pasado desde el 1 de enero de 1970. Cuando llegue cada interrupción del temporizador, la variable xtime también se incrementará en 1.
Tenga en cuenta que xtime no necesariamente aumenta por separado. Debido a que el tiempo del muro se refiere a la hora real, si el sistema desea sincronizarse con la hora de un determinado nodo en la red, o el administrador del sistema siente que el tiempo del muro no coincide con el tiempo real, el tiempo del muro puede cambiarse. a voluntad. En la situación más común, los usuarios pueden modificar la hora del sistema de forma arbitraria y la hora modificada es la hora de la pared.