Jump to content

What OS do Space Probes/Craft Use?


KAL 9000

Recommended Posts

5 minutes ago, KAL 9000 said:

Title says it all. In thier microchips, space probes must have an OS they use. What is it? For KSP it's obviously kOS.

What are you trying to do? Hack into them? Now that I think about it, your profile picture/Username looks suspicious, so what exactly is your evil awesome plan?

 

Also, it's *their

Link to comment
Share on other sites

Good question.  I think space-x has mentioned using linux.  Note that if you go with rad-hard (which typically involves using saphire and even more exotic compounds) you are probably using a microcontroller from the 1990s that doesn't have room for an OS, even one from that era.

You might want to think about what an OS is, and why exactly you want one.  For multitasking?   Just how much latency do you want on the "real time stuff", anyway?  Do you need your memory managed?  Do you *really* want the OS to decide which page it is going to swap out?  Do you want your peripherals abstracted?  If so, why?

I'm guessing that some sort of "RT Linux" is used a lot, because the programmers can get right in and rip all the parts they don't want out of the thing.  Just remember, throwing hardware at the problem works for a lot of problems, but has trouble with some issues (latency being the one that matters in rocket science, although scaling and other issues probably come up as well).  Just remember that every time the OS steps in and offers to do something for you, that's a lot of code to check *exactly* what it is doing for you (and how long it will take).

Insert "real programmers" story here, and how NASA employs "real programmers".

Link to comment
Share on other sites

30 minutes ago, wumpus said:

Good question.  I think space-x has mentioned using linux.  Note that if you go with rad-hard (which typically involves using saphire and even more exotic compounds) you are probably using a microcontroller from the 1990s that doesn't have room for an OS, even one from that era.

Rad hardened electronics are pretty much the same as the normal thing. Just old. Yes, that is, in essence, the same chip they put in the Powerbook G3. If it did not lack a GPU, you could easily play Quake 3 on Curiosity in terms of CPU power, storage and RAM. How about that. The ping would be terrible, though.

 

Edited by Camacha
Link to comment
Share on other sites

1 hour ago, Spaceception said:

What are you trying to do? Hack into them? Now that I think about it, your profile picture/Username looks suspicious, so what exactly is your evil awesome plan?

 

Also, it's *their

Yes, you got me, I want to hack into Curiosity and find the Face on Mars :wink::sticktongue::wink:. Lol

Link to comment
Share on other sites

Spacecraft don't use laptops or generic PCs. The PCs on the ISS don't control any of the actual flight parameters. They are for office work, controlling experiments, and providing a UI for the embedded systems that control the ISS.

Avionics computers are embedded systems with programs that directly address the hardware or use a dedicated real-time OS, either custom-built or an off-the-shelf RTOS like VxWorks.

 

Edited by Nibb31
Link to comment
Share on other sites

When I worked as a computer programmer, some of the military-grade stuff I wrote code for (not for outer space, but sturdy enough for use on helicopters, which are extremely harsh on computer hardware) didn't have an OS at all. Everything was hard-coded and burned onto chips, and each extra line of code added to the cost. The "operating system" was merely the instructions needed to partition memory and start the main instruction loop. So, for really burly and expensive missions, most or all of the code can be custom-written. Using an off-the-shelf OS can save time and expense in development, but will probably make a spacecraft heavier and costlier.

Link to comment
Share on other sites

7 minutes ago, Death Engineering said:

My cousin who worked on Sojourner developed the vision system in C.

As far as I know it's all some version of C, and there is no OS.  There's a boot block to load software from memory, and beyond that they code direct to metal.  The simpler the software, the easier to debug and the lower the chances of "new features".  The big drawback is that most any change in hardware means starting over on software.

Link to comment
Share on other sites

Bill Nye's Planetary Society Solar Sail test used a linux-derived OS which temporarily failed due to a bug they couldn't patch in time (http://www.planetary.org/blogs/jason-davis/2015/20150526-software-glitch-pauses-ls-test.html?referrer=https://www.google.ca/)

Opportunity and Curiosity rovers (they count right?) use VxWorx. Fun fact: their firmware was replaced after they landed on Mars, to remove the EDL Flight routines and replace it with the 'roving on mars' version. (https://en.wikipedia.org/wiki/VxWorks

Mars Global Surveyor ultimately died because a pair of technicians mishandled memory addressing which is normally an OS-level task, which supports what Wizzlebippi was saying (https://en.wikipedia.org/wiki/Mars_Global_Surveyor)

If you're interested in what operating systems satellites run, you might also be interested in networking. At the risk of sounding like a less-than-upstanding member of society, there are a number of really cool articles on how to hack satellites (or Mars rovers) such as http://security.stackexchange.com/questions/6424/what-would-one-need-to-do-in-order-to-hijack-a-satellite

 

 

Link to comment
Share on other sites

59 minutes ago, SgtSomeone said:

Opportunity and Curiosity rovers (they count right?) use VxWorx. Fun fact: their firmware was replaced after they landed on Mars, to remove the EDL Flight routines and replace it with the 'roving on mars' version.

Even more fun fact:  The 'roving on Mars' software didn't even exist when they departed Earth orbit - it was written and tested during the cruise phase.  (Because of their insanely tight schedule, they simply couldn't do it beforehand.)

Link to comment
Share on other sites

29 minutes ago, DerekL1963 said:

Even more fun fact:  The 'roving on Mars' software didn't even exist when they departed Earth orbit - it was written and tested during the cruise phase.  (Because of their insanely tight schedule, they simply couldn't do it beforehand.)

The same was true for hardware and software in the Voyager missions - when the thing was launched, nothing existed that could receive or transmit data over longer distances. Both Earth hardware and probe software needed to be updated in flight to accommodate the second part of the mission. Talk about JIT management :)

Link to comment
Share on other sites

1 hour ago, DerekL1963 said:

Even more fun fact:  The 'roving on Mars' software didn't even exist when they departed Earth orbit - it was written and tested during the cruise phase.  (Because of their insanely tight schedule, they simply couldn't do it beforehand.)

LOL, this make the upgrade of mechjeb during flight to get new features realistic.
Knew about voyager but not this. 

Link to comment
Share on other sites

10 hours ago, wizzlebippi said:

As far as I know it's all some version of C, and there is no OS. 

There's also a lot of Ada in the embedded aerospace industry.

It's often easier to use old code that is reliable and certified than to rewrite, test, and certify code in a new language.

Edited by Nibb31
Link to comment
Share on other sites

4 hours ago, Nibb31 said:

There's also a lot of Ada in the embedded aerospace industry.

Yup, like the flight software on the ISS, quite a lot of satellites and probes (Rosetta and part of Cassini, for example) and several launch vehicles.

 

Fun fact about Ada and reusing old code, this is how the first Ariane 5 failed. Its inertial navigation system used the same code as the one on Ariane 4, the problem being that Ariane 5 had a different flight profile and its lateral velocity reached higher values than the program was designed for, causing a rollover when converting from 64 to 16-bit format. The guidance system shut down, the rocket attempted to do a rapid course correction and started breaking apart, so the self-destruct was triggered.

Link to comment
Share on other sites

Some are using Android.

Surrey Satellites' Strand-1 had a google Nexus mobile phone on board, the idea being they're cheap hardware with a lot of built in sensors and could be ideal for controlling small satellites.  http://www.sstl.co.uk/Missions/STRaND-1--Launched-2013/STRaND-1/STRaND-1--Smartphone-nanosatellite

NASA have a similar programme running called PhoneSat.

Link to comment
Share on other sites

2 hours ago, kerbiloid said:

It would be some real-time OS , being selected for every new project.

Afaik, Linux is not a real-time OS. But geeks like it, why not to say that it's used on a spacecraft.

I can easy imagine you having multiple systems, An real time OS for flight control and communication, this is mostly an standard solution for satellites, 
Then an separate one for the science part like an telescope running linux.
This has multiple benefits, for one the science software can not brick the probe or overload the control system.  

Link to comment
Share on other sites

4 hours ago, kerbiloid said:

Afaik, Linux is not a real-time OS. But geeks like it, why not to say that it's used on a spacecraft.

The mainline Linux kernel is not real-time, right. But geeks like it enough to attempt to make the kernel fully-preemptible and do real-time work with it. See the RT wiki.

As for the OP question, if you've read The Martian, the logs from Sojourner booting are pretty legit (although almost certainly not exact):

LOG: SOL 0
BOOT SEQUENCE INITIATED
TIME 00:00:00
LOSS OF POWER DETECTED, TIME/DATE UNRELIABLE
LOADING OS...

VXWARE OPERATING SYSTEM (C) WIND RIVER SYSTEMS
PERFORMING HARDWARE CHECK:

 

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...