La tecnología de la década de 1960 jugó un rol clave en llevar a los primeros hombres a la luna. Sin embargo, como muchos han apuntado, los equipos eran menos poderosos que un smartphone corriente de hoy. De hecho se parecerían más a una calculadora.
El computador responsable de las misiones Apolo fue el Apollo Guiding Computer (AGC), diseñado por el MIT Instrumentation Laboratory y fabricado por Raytheon, y uno de los primeros computadores en usar circuitos integrados – considerado el primer “sistema embebido”.
El equipo tenía 2048 palabras de memoria RAM y 36.864 de memoria ROM. La longitud de las palabras era de 16 bits. En comparación con algo más actual, un PC IBM XT de 1981, con un procesador 8088 de Intel, tenía 8 veces más memoria que el AGC. Un procesador de smartphone de 1000 mhz y 512 MB de RAM, tiene 100.000 veces más RAM que el AGC (que corría a alrededor de 1 mhz).
Para los interesados, según esta guía es posible construir uno en tu casa.
Software
Tan arcaico que uno se pregunta cómo fue posible que este sistema ayudara a tres hombres – Neil Armstrong (fallecido este sábado), Buzz Aldrin y Michael Collins – a aterrizar en la luna. Parte importante tiene que ver con el software – el sistema operativo era capaz de realizar multitarea de hasta 8 tareas, algo normal para hoy pero un gran logro en ese entonces.
La multitarea no funcionaba igual que ahora. El software, llamado “Luminary” consistía en varios subprogramas que corrían según prioridad – es decir, se turnaban para ejecutarse de acuerdo a la importancia que tuvieran. Cada programa movería los datos al área de memoria borrable (de 2 k) y luego los retiraría. El mayor problema para los ingenieros era que los programas no se borraran ni se sobreescribieran con datos de otro programa por ejecutarse en el momento inadecuado.
Si muchas tareas requerían al computador al mismo tiempo, el sistema las demoraría, o simplemente interrumpiría lo que estaba haciendo en ese momento, lanzaría una alarma, y luego comenzaría a trabajar en algo nuevo.
Errores
El AGC no estuvo libre de errores. Nada menos que en el momento crucial del aterrizaje lunar, el 20 de julio de 1969, los instrumentos de la nave arrojaron un código de error “1201” y luego un “1202”. Neil Armstrong consultó a la Tierra sobre este asunto, y el ingeniero Jack Garman afirmó que en este momento de la misión, el error podía ser ignorado. Básicamente, el computador estaba sobrecargado de tareas.
Armstrong descubrió que el sistema automático los estaba llevando a un cráter lleno de rocas, de modo que tomó el control manual e hizo aterrizar la nave, a unos 6 km del lugar que se había planeado originalmente.
Mientras el AGC era el que guiaba a los astronautas en la nave, en la Tierra la NASA trabajó con enormes mainframes de IBM “360 Model 75” para las comunicaciones con la nave y los cálculos requeridos para lanzar al módulo lunar fuera de la superficie de la Luna y enviarlo de regreso a la Tierra.
Hasta los sistemas más sencillos de hoy superarían técnicamente lo que usó el Apolo 11. Sin embargo, los equipos que llevaron a la nave a la luna demostraron lo que se podía lograr trabajando con las máquinas, en una tarea que todavía la humanidad no ha logrado superar.
Doce hombres han caminado sobre la luna. La última misión fue en 1972 con el Apolo 17.
Links:
– Apollo 11: The computers that put man on the moon (ComputerWeekly)
– How powerful was the Apollo 11 computer? (DownloadSquad)
– Apollo Mission Software (NetJeff)
– Neil Armstrong (Telegraph)