Datos interesantes sobre el tiempo de la computadora

Probablemente no piense mucho en el reloj de su computadora a menos que se acerque una fecha límite importante, pero saber un poco sobre cómo su computadora marca el tiempo puede mantener su sistema y su red funcionando sin problemas. Además, la tecnología informática ha cambiado la forma en que rastreamos, registramos y registramos el tiempo, lo cual es interesante en sí mismo. Echemos un vistazo a cómo las computadoras mantienen el tiempo.
tiempo unix
Perdóneme por ser un poco centrado en Unix, pero la mayoría de los servidores en Internet usan el tiempo de Unix. ¿Qué es el tiempo de Unix? en realidad es muy fácil. Es el número de segundos desde la medianoche del 1 de enero de 1970 UTC. (Explicaré UTC más adelante en este artículo). Esto se llama una «época».
Muchos sistemas Unix y Linux calculan el tiempo contando los segundos de época y convirtiéndolos a la hora local. La ventaja de esto es que es fácil calcular la diferencia entre dos fechas y horas. Si quiero saber cuánto tiempo ha pasado desde la medianoche del 1 de enero de 1970, es una simple resta. El lenguaje de programación Perl puede contar segundos de época en cualquier momento que puedas imaginar. (Puede obtener más información sobre Perl en Perl 101).
Desde 1970, también han surgido muchos patrones interesantes a medida que aumentan los segundos. Wikipedia tiene una lista de ellos. Por ejemplo, el 13 de febrero de 2009, la cantidad de segundos transcurridos llegó a 1.234.567.890. Sí, esos son todos los números desde el principio. La comunidad tecnológica de todo el mundo organiza fiestas para celebrar. Para los menos odiosos, no, no me lo estoy inventando.
Una consecuencia más grave de sincronizar de esta manera es el problema del año 2038. Sin más preámbulos, en 2038, la cantidad de segundos transcurridos será demasiado grande para contener un número entero de 32 bits con signo. Muchos sistemas, incluidas las computadoras integradas, todavía usan procesadores de 32 bits. Todavía tenemos mucho tiempo para cambiar a un sistema de 64 bits o encontrar alguna otra solución, pero si recuerdan el bloqueo del año 2000, la gente se esforzaba por solucionarlo en el último minuto y, a veces, simplemente no tenían la voluntad de hacer algo. sobre estas cosas
Cuando cambiemos por completo a un procesador de 64 bits, necesitaremos 292 277 026 596 segundos para volver a cambiar de procesador. Para entonces, sin embargo, los humanos pueden tener problemas más apremiantes que los relojes de sus computadoras: el sol habría devorado la Tierra para entonces.
UTC
Aunque UTC o Tiempo Universal Coordinado no se limita a las computadoras, la forma en que funcionan sus relojes es importante. Es una alternativa al GMT que tiene en cuenta la ralentización de la Tierra. El meridiano principal en el que se basa el cálculo todavía se encuentra en el Observatorio de Greenwich en Inglaterra. ¿Por qué estas ahí? Esta es la reserva del Imperio Británico.
La zona horaria se expresa como un desplazamiento del primer meridiano. Por ejemplo, vivo en la zona horaria del Pacífico, que es UTC-8. Durante el horario de verano, en realidad es UTC-7.
UTC se usa en una variedad de contextos para eliminar la ambigüedad de las zonas horarias, incluida la aviación, el pronóstico del tiempo y la informática. La mayoría de las máquinas expresan su zona horaria local como un desplazamiento de UTC, pero la mayoría de los servidores en Internet expresan la hora en UTC. Puede comprobar los encabezados de sus correos electrónicos como prueba.
NTP
Mientras que los servidores usan relojes configurados en UTC, los relojes de las computadoras tienen la costumbre notoria de ralentizarse. Dependiendo de la hora del día, tener un montón de relojes desincronizados puede causar estragos en cosas como el correo electrónico. Esta es la razón por la que se creó el Protocolo de tiempo de red. Ha existido desde los años 80 y sincroniza perfectamente los relojes de las computadoras con NTP. Por lo general, no tienes que pensar en ello. La mayoría de las veces, todo lo que necesita hacer es habilitar NTP en su sistema a través del archivo de configuración o el panel de control, y NTP se encargará del resto comunicándose con el servidor y sincronizando periódicamente el reloj de la computadora. (Obtenga más información en Cómo el protocolo de tiempo de red mantiene el funcionamiento de Internet).
tiempo fraccionario
Una forma interesante de expresar el tiempo es usar días decimales. Es una forma decimal de tiempo que representa el porcentaje de tiempo que ha transcurrido en un día. Por ejemplo, medianoche es 0.00, mediodía es 0.50, 6:00 pm es 0.75, y así sucesivamente.
Para usar la hora actual como un día fraccionario, divida el minuto actual por 60 y agréguelo a la hora. Por ejemplo, si es la 1:24 p. m., entonces 24 dividido por 60 es 0,40, que es 13,40. Divídalo por 24 para obtener 0,56. También puede tener la precisión que desee. Por ejemplo, puedo escribir el tiempo como 0.5583333. El beneficio de mantener el tiempo de esta manera es que, al igual que los segundos de época mencionados anteriormente, calcular la diferencia entre dos es una simple cuestión de resta.
ISO 8601
Si alguna vez ha viajado al extranjero, ahora sabe que hay muchas formas diferentes de representar las fechas. En los EE. UU., el mes generalmente viene primero, por lo que el 15 de enero de 2018 se representará como el 15 de enero de 2018. En otros lugares, este día viene primero, como 15/1/2018. Esto puede causar algunos problemas al comunicarse con personas de diferentes países.
La Norma Internacional ISO 8601 intenta abordar algunos de estos problemas. Es simple: AAAA-MM-DD. Volviendo a nuestro ejemplo según ISO 8601, se ve así: 2018-01-15. Esto es inequívoco y «big endian» porque el año viene primero. El estándar también hace que sea relativamente fácil para las computadoras ordenar las cosas por fecha. Otras variantes agregan UTC o muestran la cantidad de días del año que han pasado.
todos los buenos tiempos
El tiempo es importante, más aún para las computadoras. Con suerte, este artículo le dio una idea de cómo las computadoras realizan un seguimiento del tiempo detrás de escena.








