Linux@NASA and ESA
The National Aeronautics and Space Agency (NASA) has a mandate to explore, develop and promote state-of-the-art software technologies to increase effectiveness and reduce costs of mission data and information systems. Linux is part of the suite of OSS technologies NASA is using to accomplish its mandate. Linux and OSS have gradually penetrated deep into NASA’s applications for on-board spacecraft systems, monitoring systems and many other internal projects.
LAMP Technologies
NASA, as an organization of software users and developers, has adopted the powerful and robust combination of Linux-Apache-MySQL-PHP/Perl/Python (LAMP) technologies to get better software at a lower cost. Over the last five years, many projects faced with budget cuts or escalating costs have switched to using OSS wherever it has made technical or business sense. Linux, in this process, has demonstrated the same or superior levels of robustness and performance.
NAIS: One early example of NASA’s usage of OSS was NASA’s Acquisition Internet Service (NAIS). NAIS is an electronic posting system for business opportunities, which converted from using an Oracle relational database to using the open source counterpart MySQL. MySQL is, of course, the “M” in “LAMP” as described above.
FlightLinux
One of NASA’s projects was to develop FlightLinux the Linux kernel customized for spacecraft applications. FlightLinux enables constellations of earth orbiting satellites to talk to each other. It also provides a common application environment between ground and space-based environments.
The goal of FlightLinux was to build a minimal Linux kernel with specialized device drivers to support a technology readiness level (TRL) of 7, or on-orbit readiness, for the spacecraft environment. The FlightLinux project targeted PC-like hardware from Surrey Space Technology Ltd (SSTL). The availability of multiple flight computers on-board allowed FlightLinux to be tested on-orbit without interfering or impacting the operations of the spacecraft. Major advantages cited for using OSS were availability of full source of the operating systems and drivers, and tapping into a large pool of development talent, programming languages, networking protocols and file systems.
Other targets for FlightLinux have included space processors such as Honeywell’s Radiation Hardened PowerPC (RHPPC), Lockheed’s RAD750, ESA’s ERC32 (based on Sun Sparc architecture), and Sandia Labs radiation-hardened Pentium. Each software port for the 16-bit and later 32-bit flight computers involves coding-specific device drivers, and reconfiguration and recompilation of the kernel for specific embedded devices. FlightLinux is OSS but the free distribution of its source code has been inhibited by issues of export restrictions on satellite control software.
Other NASA Open Source Projects
Solar spectral flux radiometer: A scientific instrument that uses Real-Time Linux to collect atmospheric data at 21,000 m (70,000 feet). It is based on RTLinux (http:// www.fsmlabs.com/), which guarantees the hard real-time performance needed by the application. At the same time, it provides a normal, rich Linux environment for everything else that does not have to be real-time.
Personal satellite assistant (PSA) is a robotic assistant for astronauts working in space. The PSA is about the size of a softball. It can propel itself, sense gases, temperature, and air pressure, perform video conferencing and can communicate with other devices onboard a shuttle or the space station.
Beowulf: This is probably the most famous and influential of the NASA open technology projects. Beowulf was developed using Linux in 1994 at Goddard Space Flight Center in Greenbelt Maryland. It enables building massive Goddard Space Flight Center in Greenbelt Maryland. It enables building massive clusters of cheap PCs, which can compete with the largest and most expensive supercomputers in the world. Beowulf class clusters and concepts have spread throughout the high-performance computing community, both scientific and commercial.
Linux@ESA
The European Space Agency (ESA) has also been busy supporting Linux and OSS. Two projects, RACSI and GOAS, highlight their activities.
RACSI: Remote Control of ESA’s Pre-development Program Automatic Transfer Vehicle
RACSI is a Linux laptop application used inside the International Space Station (ISS). It allows an astronaut, or OSS-tronaut in this case, to command, control and monitor the rendezvous and docking operations of an Automatic Transfer Vehicle (ATV). The ATV is a small chaser spacecraft designed by the European Space Agency (ESA) to deliver cargo to or perform other functions for the much larger ISS. Using complex monitoring and computations, the ATV docks with the Russian section of the space station.
The target hardware platform for RACSI is an IBM ThinkPad laptop that is resistant to the radiation possible onboard the space station. RACSI needs 64MB RAM and 40MB disk space. The ThinkPad has a 1024×756 pixel XGA display with 64K colors to display trajectories and spacecraft equipment status. The pointing device is the laptop’s trackball, although a regular mouse can also be used.
RACSI uses shared memory and the Linux file system as database storage for telemetry data feeds received from the spacecraft. It provides three types of information to the user: Mission phase and transitions data Trajectory data Messages and warnings While monitoring the ATV rendezvous, the astronaut can issue two simple commands to the ATV in an emergency: Temporarily interrupt the mission, or execute a collision avoidance maneuver.
ESA is upgrading RACSI to provide multimedia capabilities and additional help to the astronaut.
It will now include:
- A live video signal. The live video window and the classic monitoring window will be displayed simultaneously.
- A grid superimposed onto the live video signal to facilitate navigation toward the target.
- Context-sensitive help.
GOAS: Ground Operator Assistant System for Rendezvous and Docking
While RACSI helps control the ATV from the ISS, GOAS provides much greater monitoring and control from the ground. GOAS helps in the guidance, navigation, and control tasks of a rendezvous and docking space mission. It is similar in purpose to the RACSI application but larger and more complex. GOAS monitors and intervenes for complex fault recovery situations.
GOAS runs as a Linux/X-Windows application on a 233 MHz Intel Pentium system with 48MB RAM.
Linux: The Right Choice
Reliability, performance, portability and affordability of Linux convinced ESA to use Linux and OSS for its real-time spacecraft control software.
For NASA, aside from cost-effectiveness, OSS leads to improved software development, enhanced collaboration, and more effective dissemination of software.
For Linux and OSS, at NASA and ESA, the sky is the limit.

© Alolita Sharma, Technetra. Published September 2003 in LinuxForYou magazine. This work is licensed under a Creative Commons Attribution-No Derivative Works 3.0 License. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.