                 Soporte para segundos intercalares en FreeBSD

   2019-06-01 17:52:59 +0000 por Sergio Carlavilla Delgado.
   [ Split HTML / Single HTML ]

     ----------------------------------------------------------------------

   Tabla de contenidos

   1. Introduccion

   2. Manejo por defecto de los segundos intercalares en FreeBSD

   3. Precauciones

   4. Pruebas

   5. Conclusion

1. Introduccion

   Un segundo intercalar es un ajuste de un segundo realizado en momentos
   especificos del ano a UTC para sincronizar escalas de tiempo atomicas con
   variaciones en la rotacion de la Tierra. Este articulo describe como
   FreeBSD interactua con segundos intercalares.

   En el momento de escribir estas lineas, el proximo segundo intercalar
   ocurrira el 30 de junio del 2015 a las 23:59:60 UTC. Este segundo
   intercalar ocurrira durante un dia laboral para America del Norte y del
   Sur y la region Asia/Pacifico.

   Los segundos intercalares son anunciados por el IERS en el Boletin C.

   El comportamiento estandar de los segundos intercalares se describe en RFC
   7164. Vease tambien time2posix(3).

2. Manejo por defecto de los segundos intercalares en FreeBSD

   La manera mas facil de manejar segundos intercalares es con las reglas de
   tiempo de POSIX que FreeBSD utiliza por defecto, combinadas con NTP.
   Cuando ntpd(8) se este ejecutando y el tiempo este sincronizado con
   servidores remotos de NTP que manejen segundos intercalares correctamente,
   dicho segundo intercalar hara que el tiempo del sistema automaticamente
   repita el ultimo segundo del dia. Ningun otro ajuste es necesario.

   Si los servidores remotos de NTP no manejan los segundos intercalares
   correctamente, ntpd(8) aumentara el tiempo en un segundo, despues de que
   el servidor erratico lo haya notado y haya saltado el mismo ese segundo.

   Si no se usa NTP, se requerira el ajuste manual del reloj del sistema una
   vez que el segundo intercalar haya pasado.

3. Precauciones

   Los segundos intercalares se insertan en el mismo instante en todo el
   mundo: a medianoche segun UTC. En Japon esto ocurre a media manana, en el
   Pacifico al mediodia, en America es por la tarde-noche y en Europa por la
   noche.

   Creemos y esperamos que FreeBSD, si se proporciona un servicio NTP
   correcto y estable, funcionara como se diseno durante este segundo, como
   lo hizo durante los anteriores.

   De todas formas, asumimos que practicamente ninguna aplicacion ha
   requerido informacion del kernel acerca del segundo intercalar. Nuestra
   experiencia es que, tal como esta disenado, el segundo intercalar es
   esencialmente una repeticion del segundo antes del segundo intercalar,
   esto es una sorpresa para la mayoria de los programadores.

   Otros sistemas operativos y computadoras pueden o no manejar el segundo
   intercalar de la misma forma que FreeBSD, y los sistemas sin un servicio
   NTP correcto y estable no sabran nada sobre el segundo intercalar.

   No es extrano que las computadoras fallen a causa del segundo intercalar,
   y la experiencia ha demostrado que una gran parte de los servidores
   publicos de NTP pueden manejar y anunciar incorrectamente el segundo
   intercalar.

   Por favor, intente asegurarse de que nada horrible suceda debido al
   segundo intercalar.

4. Pruebas

   Es posible probar si un segundo intercalar sera usado. Debido a la
   naturaleza de NTP, la prueba puede funcionar hasta 24 horas antes del
   segundo intercalar. Algunas fuentes importantes de referencia de tiempo
   solo anuncian el segundo intercalar una hora antes del acontecimiento.
   Realice una consulta al demonio de NTP:

 % ntpq -c 'rv 0 leap'

   Una salida que incluya leap_add_sec indica el soporte para el segundo
   intercalar. Cuando falten mas de 24 horas para el segundo intercalar, o
   cuando este haya pasado, leap_none sera mostrado por pantalla.

5. Conclusion

   En la practica, los segundos intercalares no suelen ser un problema en
   FreeBSD. Esperamos que esta breve resena ayude a clarificar que esperar y
   como hacer que el segundo intercalar pase sin contratiempos.
