El cohete reutilizable Falcon 9 de SpaceX, llegó a la Estación Espacial Internacional con los Astronautas Bob Behnken y Doug Hurley de la NASA a bordo. Pero lo que muchos no saben es que este se desarrolló con tecnología basada en Linux.

El Falcon 9 es uno de los primeros cohetes desarrollado por SpaceX que ha pasado por una serie de modificaciones hasta llegar al modelo actual. Desde la primera versión Falcon 9 v1.1, los desarrolladores de SpaceX explicaron que los sistemas de control del cohete, así como los procesadores y la arquitectura estaba basado en Linux codificado con el lenguaje de programación C++.

En el siguiente escrito por los desarrolladores de SpaceX hace siete años se puede leer:

“El equipo de Flight Software es de unas 35 personas.

Escribimos todo el código para las aplicaciones Falcon 9, Grasshopper y Dragon; así como el core de la plataforma de trabajo central. También escribimos software de simulación; pruebas de código de vuelo; software de comunicaciones y análisis, implementado en nuestras estaciones terrestres. También trabajamos en Mission Control para apoyar misiones activas.”

El equipo de Ground Software es de aproximadamente 9 personas. Codificamos principalmente en LabVIEW. Desarrollamos las GUI utilizadas en el control de Misión y Lanzamiento, para que los ingenieros y operadores supervisen la telemetría de los vehículos y comanden el cohete, la nave espacial y el equipo de apoyo de la plataforma. Estamos introduciendo datos de gran ancho de banda en un sistema altamente distribuido e implementando interfaces de usuario complejas con requisitos estrictos para garantizar que los operadores puedan controlar y evaluar las naves espaciales de manera oportuna.

Sistema de control tolerante a fallas

Los ingenieros de software de SpaceX indicaron que para la primera versión de Falcon 9, la compañía usó múltiples plataformas y multicomputadoras con un diseño tolerante a fallas. Cuyo motores Merlin se ejecutaban en tres procesadores doble núcleo.

La versión de Linux integrada en el sistema de control del cohete Falcon 9 es “un sistema operativo simplificado”, según los desarrolladores, ejecutado en tres procesadores doble núcleo de arquitectura x86.

Próximo lanzamiento de SpaceX será un momento histórico para EE.UU. y la NASA

Cabe destacar que el software de vuelo del cohete se ejecuta por separado en los procesadores, este se encuentra programado en uno de los lenguajes de programación estructurada más robustos C/C++.

Tres procesadores en Falcon 9

Según una explicación en StackExchange Space Exploration, la razón por la que el Falcon 9 cuenta con tres procesadores,  es porque la compañía utiliza un sistema Actor-Judge con la intención de ofrecer triple redundancia en los cohetes y naves espaciales.

Por ejemplo, el software de vuelo está programado en C++ y aplica este sistema, lo que implica que para cada cálculo o decisión, la “cadena de vuelo” compara los resultados de ambos núcleos. Si hay una inconsistencia, la cadena es mala y no envía ningún comando.

En caso contrario si ambos núcleos devuelven la misma respuesta ante esta cadena de vuelo, esta envía el comando de vuelo a los microcontroladores que manejan los motores y las aletas de la red.

Por si fuera poco, Crew Dragon también ejecuta Linux y su software de vuelo también está codificado en C++. La pantalla táctil del cohete es procesada con Chromium y JavaScript, y les permite a los astronautas controlar la nave con botones físicos en caso de emergencia.

Debido a que el núcleo de Linux es mucho más robusto que otros sistemas operativos, y mucho más seguros, es utilizado para sistemas de cómputo complejos, de hecho, los astronautas suelen usar software como Debian Linux, Scientific Linux en potentes computadoras.

Por lo que, como podemos ver, Linux sin duda es un sistema operativo mucho más indispensable de lo que algunos puedan pensar, aunque se trate de un software que actualmente no cuenta con gran utilidad a nivel comercial, sin duda a nivel científico tiene un gran potencial.

Más en TekCrispy