Is Unix/Linux used in space exploration?

I was looking at some Wikipedia articles on spacecrafts and robotic probes and found a reference of an OS named "VxWorks" which I have never heard of before; according to the article this OS has been used in a few NASA projects.

So now I'm wondering what OS flavor or branch all those amazing space devices, satellites and space shuttles use, or if this "VxWorks" is the only (or at least the most tested, bug-free, stable) resource available for spacecraft?

Also, how does Unix/Linux contribute (if at all) at space exploration?

I'm not really involved into space exploration myself, so I'm hoping someone else here with a bit more knowledge on the issue is willing to share his comments. :stuck_out_tongue:

Thanks. :smiley:

PS: For the curious minds, this is the Wikipedia article I was reading: http://en.wikipedia.org/wiki/Stardust_\(spacecraft\)

vxworks is not just reliable enough for space appliactions, it's also one of the smallest POSIX-alikes I'm aware of. Linksys used to use Linux in some wireless routers; they slashed memory and storage in half by switching to vxworks. (Which arguably didn't make them better products; their costs saving left them with very limited buffer space, etc.) This combination of features seems pretty rare.

It's also not freestanding -- it has a limited ability to modify, build things, and debug inside itself. In a consumer or server OS that'd be a big problem but might actually be an advantage in small high-reliability applications; less ability to fiddle with its own settings means less ability to muck itself up.

While it's not about UNIX/Linux, this write up on the space shuttle software development process should be of interest to anyone keen on space exploration and software development: They Write the Right Stuff | Fast Company

Regards,
Alister

There you go, a Canadian company Security and Defense

The systems that monitor space Orbiting objects and launches are MVS and unix based.

This is how I make my living these days. We are using Solaris but are migrating to Linux as fast as we can. We build launch vehicles and satellites. Sometimes we launch our own satellites. Sometimes we launch someone else's satellite in our launch vehicle. Sometimes our satellite rides up in someone else's launch vehicle.

For launch vehicles we use Solaris/Linux for Launch Support Equipment. LSE talks to the vehicle while it is on the ground. If a spacecraft goes up on our launch vehicles, we control the vehicle entirely with Solaris/Linux. If we built the spacecraft, we take over as soon as it is in orbit and perform the in-orbit testing. Often we drive until the craft is in the final orbit. Usually we turn the craft over to the customer. In a very few cases we drive forever. Our rooms like the mission control centers you see at NASA are 100% Linux/Unix. We talk to ground antennas via TCP/IP. We own one antenna and rent time on others. Our antenna is not Unix or Linux... don't know about the others. No Linux or Unix on board any of our spacecraft.

Most of what we do are GEO communication satellites. We do launch a few LEO science satellites for NASA and these could be called space exploration. We have one craft beyond Mars on its way to the asteroid belt. That certainly counts.

We use a mixture of Linux Solaris and Windows in the design of spacecraft. Our compute cluster for fluid dynamics computation is 100% Linux.

2 Likes

Opps....my mistake. It's orbiting Vesta as of this writing. The software in that probe was cross-compiled on a Sun Ultra 10 running Solaris 8.

# uname -a
SunOS dawnsvr 5.8 Generic_117350-56 sun4u sparc SUNW,Ultra-5_10
#

Is that industry practice, or just the setup for your particular firm?

I don't know, but I'll guess. :slight_smile:

I would be surprised to find Linux/Unix actually controlling a spacecraft. I would also be surprised if some Linux systems are not in use aboard the ISS. I watch the NASA channel and I've seen the astronauts floating around with notebooks (the computer kind). I did not see an Apple logo so they must be either Linux or Windows.