IBM PCjr de 1984 mantiene sincronizados los relojes actuales

Nos hemos acostumbrado al hecho de que los relojes de nuestras computadoras con Internet y teléfonos inteligentes siempre muestran la hora correcta. Los servidores de tiempo, proporcionados por varias agencias gubernamentales y gigantes tecnológicos, les proporcionan la hora y fecha exactas gracias a relojes atómicos precisos y al protocolo de tiempo de red inteligente (NTP). Pero no siempre fue así: ya en la década de 1990, cuando muchas computadoras no tenían conexión a Internet, tuvimos que ajustar manualmente los relojes de nuestras computadoras. Retrocedamos una década más, y muchas computadoras ni siquiera tenían un reloj que funcionara con pilas; usted estableció la fecha y hora apropiadas cuando la computadora se inició, o simplemente vivió con el hecho de que todos los archivos nuevos fueron cronometrados el 01-01-1980.

[Michael Brutman] decidió mezclar el mundo actual de la sincronización de red con el viejo mundo de las computadoras sin batería y construyó un servidor de tiempo SNTP que se ejecuta en una computadora DOS. Lo probó con dos diseños de hardware diferentes: una computadora 386 de 40 MHz de 1993 y la (poco) famosa IBM PCjr de 1984. Un módulo GPS estándar sirve como una referencia de tiempo precisa; estas unidades a menudo se pueden conectar directamente a hardware antiguo gracias al eterno estándar RS-232.

Sin embargo, el simple hecho de tener un reloj preciso no era suficiente: el reloj interno del hardware original de IBM solo se actualizaba cada 55 milisegundos, lo que no es lo suficientemente rápido para un servidor NTP adecuado. [Michael] por lo tanto, tuvo que ajustar la tasa de actualización del reloj del hardware, teniendo cuidado de no sobrecargar la CPU con demasiadas interrupciones. La CPU lenta y la memoria limitada en cualquier caso lo obligaron a implementar el Protocolo simple de tiempo de red (SNTP), una versión simplificada del NTP más común, que abandona algunas de las características más complejas que se ocupan de sincronizar múltiples servidores. La interfaz de red es manejada por [Michael]el propio paquete mTCP, que es una pila TCP / IP diseñada para máquinas DOS con memoria limitada.

Las pruebas que compararon el servidor de hora de DOS con el ejecutado por Google mostraron un desplazamiento de no más de unos pocos milisegundos, lo que debería ser correcto para mantener sincronizadas todas las computadoras de su red doméstica. Aunque usar una computadora vieja no es la forma más práctica de ejecutar su propio servidor horario, [Michael]La publicación del blog es una inmersión profunda fascinante en los mejores puntos de la arquitectura del reloj de la computadora y los enfoques para la sincronización de la red. Hemos visto un servidor de tiempo implementado en hardware ESP8266 antes; pero también puede prescindir completamente del protocolo (S) NTP y conectar directamente un módulo GPS a su Raspberry Pi para obtener una hora precisa.

Ricardo Prieto
Ricardo Prieto

Deja una respuesta

Tu dirección de correo electrónico no será publicada.