Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon El software que llevó el Apolo 11 a la Luna


Margaret Hamilton lideró la creación del software de la misión Apolo 11, siendo fundamental para lograr la llegada del ser humano a la Luna.



  • Margaret Hamilton fue la pieza clave detrás del desarrollo del software para la misión Apolo 11. Su labor fue fundamental y pionera, ya que diseñó los sistemas informáticos que permitieron que el ser humano lograra alcanzar la Luna con éxito.


El 20 de julio de 1969, el módulo Eagle de la misión Apolo 11 llegaba correctamente a la superficie de la Luna, concretamente sobre el conocido como Mar de la Tranquilidad. Durante 3 minutos espectaculares, todo el planeta se mantuvo en vilo antes del alunizaje.

Y no era para menos, ya que la que quizá haya sido la misión más impactante de la carrera espacial por parte de Estados Unidos podría haber acabado fracasando y colapsando durante estos minutos, debido a un código de error marcado por uno de los ordenadores de a bordo.

El código, numerado como 1202, indicaba que los datos que recibía el procesador del Apollo Guidance Computer (AGC) eran superiores a los que este podía hacer frente, por lo que la misión corría peligro, e incluso la sala de control de misión de Houston se planteó cancelar definitivamente la misión.

A pesar de estos momentos de angustia, el módulo Eagle continuó descendiendo y alcanzó la superficie lunar con extrema precisión, ya que el ordenador consiguió resistir esta embestida repentina de datos. Todo gracias a los cálculos de Margaret Heafild Hamilton, una matemática que tenía 32 años y había desarrollado el software de la misión Apolo 11.

"Nos tomábamos nuestro trabajo muy en serio; muchos de nosotros comenzamos este viaje cuando aún teníamos 20 años. Encontrar nuevas soluciones y nuevas ideas era una aventura. La dedicación y el compromiso se daban por sentados. El respeto mutuo era total", expresó Hamilton más adelante en memorias recogidas por el Instituto Tecnológico de Massachusetts (MIT).

Gracias a ella y a su equipo, quienes habían comenzado desde cero un software apto para el control de la nave, la misión Apolo 11 fue todo un éxito y pudo salvar a unos minutos el desastre del programa espacial estadounidense.

La pionera que construyó una rama totalmente desde cero

Con tan solo 23 años, la joven Hamilton, que se había graduado en Matemáticas en el Earlham College, fue capaz de acceder como trabajadora al departamento de Meteorología del MIT y escribir ya programas para elaborar predicciones del tiempo en los ordenadores de aquella época.

Más adelante, se unió al proyecto SAGE del Lincoln Laboratory, un programa militar que requería también de escribir código directamente desde cero para la detección de radares enemigos. Con ello, Hamilton había demostrado ya claramente su capacidad para construir software de la nada, un logro que la acercó cada vez más a la NASA.

En aquel entonces, el MIT Instrumentation Laboratory trabajaba para la NASA en la construcción de los sistemas de navegación de las naves Apolo, aunque tenían un problema: los programadores no eran capaces de depurar código complejo para poner en marcha el software.

Incluso el concepto de software no aparecía en los presupuestos de la NASA, una institución que integraba esto en una plano totalmente secundario y ajeno a la ingeniería, a diferencia de los complejos planes de circuitos, motores o componentes mecánicos.

"Como el software era un misterio, una caja negra, la alta dirección nos dio total libertad y confianza. Teníamos que encontrar un camino y lo hicimos", explicó Hamilton en las mismas memorias del MIT en 2009. "Mirando hacia atrás, éramos las personas más afortunadas del mundo; no había otra opción que ser pioneros. No había ninguna escuela a la que ir ni ningún campo en el que aprenderlo".

Hamilton asumió entonces la dirección del equipo de software del MIT para la NASA, con un equipo de más de 100 ingenieros y programadores que necesitaban desarrollar un programa para que el AGC pudiera respondiera en tiempo real a cualquier problema que ocurriera durante la misión.

Un software totalmente 'cosido' al procesador de la nave

El AGC no era como los ordenadores modernos, sino que se parecía considerablemente a los que existían en aquella época, con restricciones realmente impresionantes: una memoria RAM de 2.048 palabras –unos 4 kilobytes– con un almacenamiento de 36.864 palabras –unos 72 kilobytes– con una frecuencia de reloj de 1.024 MHz.

Para poder almacenar todo el código de navegación de la misión lunar, conocido como Colossus para el módulo de control y Luminary para el módulo lunar, se perforaba todo en cintas de papel y se enviaba a las fábricas de la localidad del MIT. A continuación, se pasaban hilos de cobre a mano a través de núcleos magnéticos de ferrita.

Al pasar uno de estos hilos por el núcleo, se representaba como un 1 binario; al contrario, si el hilo bordeaba por fuera de este, se representaba como un 0. Esta tecnología se conoció como memoria de cuera de núcleo y suponía básicamente que el software quedaba "tejido" en el hardware de la nave. Por ello, si algo estaba mal tejido, la misión podía fracasar estrepitosamente.

Por cuestiones relacionadas con la pura casualidad, durante las pruebas en 1968, la hija de Hamilton pulsó sin querer los mandos de control de la misión, con lo que el sistema borró todo al entender que la nave estaba en la rampa de despegue. Con la misión Apolo 8 a finales de ese mismo año, un astronauta introdujo de forma errónea un código que también borró todos los datos.

Gracias a esto, Hamilton decidió introducir una especie de sistema de respaldo para defenderse ante errores humanos que pudieran ocurrir y evitar que la misión se fuera al traste por un desliz producido por los seres humanos.

Además, con el objetivo de que el hardware del AGC no se saturara durante la misión por una sobrecarga de datos, Hamilton decidió integrar una arquitectura de software asíncrona. Esto implicaba que cada tarea era asignada por el ordenador con un prioridad numérica fija.

O lo que es lo mismo, si el procesador alcanzaba el 100% de su capacidad, el sistema no colapsaba, sino que se reiniciaba para eliminar de la memoria de cálculo las tareas secundarias y con ello proteger los procesos críticos de la misión Apolo 11.

Gracias a ello, el control de mando de Houston pudo identificar el código de error y mantener la misión, dando la orden a Neil Armstrong para tomar el control manual de la nave y alunizar el Eagle sin mayores problemas.

Desde entonces, el software es vital para cualquiera de estas misiones, situando a Hamilton como la pionera de este campo y creando incluso la carrera de ingeniería de software. Un evento que marcó un antes y un después en toda la industria tecnológica.



Fuentes:
https://computerhoy.20minutos.es/software/complejo-software-que-ayudo-llegar-luna-con-apolo-11-tuvimos-que-ser-pioneros_7031081_0.html

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.