06.10.2026 · Signal Titans Editorial
Anillos de cobre y colas de prioridad: cómo Margaret Hamilton diseñó las salvaguardas de software del Apolo
Cómo Margaret Hamilton creó un software de vuelo tolerante a fallos para el programa Apolo, sentando las bases de la recuperación en tiempo real.

En el interior de una caja de aluminio de 70 libras que medía 24 por 12.5 por 6.5 pulgadas, se enhebraban manualmente hilos de cobre a través de anillos magnéticos para almacenar código digital. Cada hilo que atravesaba un núcleo representaba un uno binario, mientras que el que lo esquivaba representaba un cero. En la década de 1960, esta memoria de núcleo trenzado albergaba el software de vuelo para el ordenador de guiado del Apolo de la NASA en el Laboratorio de Instrumentación del Instituto de Tecnología de Massachusetts. Al frente de la división que redactó y supervisó este código se encontraba la matemática Margaret Hamilton, cuya labor consistía en construir un software lo suficientemente resistente como para orientar los vuelos espaciales tripulados.
De las luces parpadeantes del SAGE a la memoria de núcleo trenzado
Hamilton se graduó en el Earlham College con una licenciatura en Matemáticas en 1958. En el MIT, desarrolló inicialmente software de predicción meteorológica para el profesor Edward N. Lorenz utilizando los ordenadores Librascope LGP-30 y DEC PDP-1. Entre 1961 y 1963, Hamilton se trasladó a los Laboratorios Lincoln para trabajar en el prototipo de ordenador XD-1 AN/FSQ-7 del proyecto de defensa aérea SAGE. Los fallos del sistema en aquel ordenador del tamaño de una habitación activaban luces parpadeantes estridentes y campanas de alarma que alertaban de inmediato a todos los presentes en el edificio. Aquella experiencia convenció a Hamilton de la necesidad absoluta de la fiabilidad del software. Posteriormente, ascendió hasta liderar la División de Ingeniería de Software del Apolo en el Laboratorio de Instrumentación del MIT, donde los circuitos integrados permitieron a su equipo empaquetar el cálculo de vuelo en un hardware compacto para la nave espacial.
Nueve horas sobre el listado impreso en el día de Navidad
La vulnerabilidad de las operaciones de la misión ante secuencias humanas imprevistas quedó demostrada durante la misión Apolo 8. A las 14:00 horas, tiempo del Este, el día de Navidad de 1968, el astronauta Jim Lovell presionó involuntariamente una secuencia de teclas en el teclado del indicador que borró los datos de navegación del ordenador mientras estaban en órbita lunar. Ante el riesgo de perder la alineación orbital, Hamilton y su equipo de programación pasaron nueve horas examinando meticulosamente un listado impreso de código de ocho pulgadas de grosor sobre sus mesas. Tras probar y verificar una compleja secuencia de recuperación de cientos de pulsaciones exactas, el equipo logró que los astronautas reiniciaran el sistema de guiado y regresaran a la Tierra a salvo.
Prioridad asíncrona y la sobrecarga del Apolo 11
Durante el descenso lunar del Apolo 11, la arquitectura tolerante a fallos desarrollada por Hamilton se enfrentó a su prueba definitiva. Mientras el módulo lunar descendía hacia la superficie, una configuración imprevista del radar inundó el ordenador de guiado con una sobrecarga de peticiones de procesamiento, lo que activó alarmas ejecutivas de advertencia. En lugar de detener la ejecución o bloquearse, el software ejecutó rutinas de recuperación programadas previamente que descartaron tareas secundarias de menor prioridad para reservar la capacidad de cómputo a las funciones críticas de aterrizaje. Tal como detalló Hamilton en una carta enviada en 1971 a la revista Datamation, la programación por prioridad asíncrona inherente al código permitió al ordenador reconocer la sobrecarga de tareas y mantener los comandos de guiado en tiempo real de alta prioridad.
La formalización de la disciplina de la ingeniería de software
Tras el programa Apolo, Hamilton aplicó sus métodos de ingeniería a los sistemas de las misiones Skylab y del transbordador espacial de la NASA. En 1976, fundó Higher Order Software para trasladar los principios de tolerancia a fallos a proyectos de defensa, y en 1986 creó Hamilton Technologies para comercializar su Universal Systems Language. Su reconocimiento por parte del Computer History Museum subrayó su papel decisivo en la definición de la ingeniería de software moderna.
La arquitectura pionera de Hamilton demostró que los sistemas complejos podían diseñarse para sobrevivir a errores humanos impredecibles y sobrecargas de hardware en tiempo real. Al certificar que el desarrollo de software requería salvaguardas matemáticas formales en lugar de remiendos improvisados, su trabajo transformó la programación informática en una disciplina formal de la ingeniería.
Ilustración editorial generada con IA; no es una fotografía documental.