

Mars Curiosity Operating System: VxWorks - bradgessler
http://en.wikipedia.org/wiki/VxWorks

======
nikcub
If anybody else is interested in the topic, the seminal work on software
development at NASA is the Fast Company feature from 1996, "They write the
right stuff":

<http://www.fastcompany.com/node/28121/print?donttaseme>

~~~
smcl
Why the "donttaseme" in the query string?

~~~
nikcub
I had it bookmarked like that, my guess is that it was a re-submission and
somebody added that tag in order to make the URL unique

------
wyuenho
Some features of VxWorks and why it's so deterministic and fast.

[http://stackoverflow.com/questions/8800371/what-makes-
vxwork...](http://stackoverflow.com/questions/8800371/what-makes-vxworks-so-
deterministic-and-fast)

------
happywolf
I worked on VxWorks and Linux on Intel's IXP embedded processors before, and
VxWorks' performance and memory footprint were always better than Linux's. For
'Performance' I refer to network throughput because IXP was meant to be for
routers and gateways. It was around 2006 so I am not sure what these two OSes
are up to now. Don't flame me because I am just speaking from my own
experience.

------
skandl
Previosly on Mars & VxWorks:
<http://www.cs.cmu.edu/afs/cs/user/raj/www/mars.html>

------
Two9A
I was watching the Planetfest rebroadcast of Curiosity's landing, and mention
was made of there needing to be two operating systems: one to deal with entry
and landing, and the other to handle roving and research. The speaker went on
to say that both OSes don't fit into RAM at once, so they would have to be
swapped over post-landing, and that this would take four days to load from
Flash.

Raises the question: why does it take four days to swap an operating system in
from Flash, and how does the system go about it while having a path to fall
back?

~~~
TazeTSchnitzel
I wonder if the time taken is because it must use very tiny amounts of power,
and survive at such a low temperature. They may be using a very slow
processor, or a special low-power, low-temperature NAND or whatever variant.

~~~
uxp
It depends on how one defines slow. Curiosity's onboard computer is 100x
faster than the previous two Mars rovers, and has twice as much ram. But
that's only 200MHz and 256MB respectively.

With the exception of Sojourner, the first rover successfully placed on Mars,
all Mars rovers have run VxWorks.

[http://en.wikipedia.org/wiki/Comparison_of_embedded_computer...](http://en.wikipedia.org/wiki/Comparison_of_embedded_computer_systems_on_board_the_Mars_rovers)

------
kokey
I remember an HP tape array running VxWorks crashing when a copy of Nessus
would scan it. There was no patch for the issue at that stage. This was a tape
array backing up some infrastructure that would handle the transactions of a
big chunk of Europe's stock exchanges. It kind of left me with a bad
impression of VxWorks, but it might just be HP's processes that was a mess at
that stage.

------
samuel1604
Glad to know it has support for IPv6, early adoption in new places is good!

~~~
kokey
I thought they would just use the martian IPv4 ranges.

~~~
inopinatus
Very droll :)

For the non-network engineers in the audience, it's worth documenting why this
is funny:

<http://en.wikipedia.org/wiki/Martian_packet>

~~~
noonespecial
"The name is derived from packet from Mars, a place where packets clearly can
not originate."

Uh oh. Looks like its time to update some wiki's.

------
damian2000
Pricey too - according to this from back in 2008, its $16,500 per seat
(developer)... [http://mihirknows.blogspot.com.au/2008/03/rtos-cost-and-
feat...](http://mihirknows.blogspot.com.au/2008/03/rtos-cost-and-feature-
comparison.html)

A drop in the ocean in the scheme of space projects though.

------
davidw
I wonder what the ground control software is written in. I know that for one
of the previous ones, they used Tcl and Tk, and the first screenshots they
showed with the first image were the X windowing system if I've ever seen it.

~~~
zokier
I think I peered some SUN workstations, so Solaris would be a fair guess. Pure
speculation of course.

~~~
yen223
How appropriate that a space agency will be using SUN workstations =)

------
xarien
VxWorks is used pretty extensively in space and defense contracting. The list
in wikipedia is a pretty small sublist. It's also often used as a wrapper for
custom bootroms.

------
joelthelion
Do people still use VxWorks for new projects? Isn't linux gaining weight in
the embedded market?

~~~
ams6110
VxWorks is a real-time OS. I didn't know whether there was a real-time variant
of Linux and what I found was that there was, but Wind River acquired the
company that was working on it and essentially killed it.

<http://en.wikipedia.org/wiki/RTLinux>

Edit: Wind River is the provider of VxWorks.

~~~
yen223
From what I last understand, VxWorks, being an actual _RTOS_ , has faster and
more consistent latency rates than any Linux embedded system.

For systems which require a _guaranteed_ response time, such as advanced
robotics, this is a major deal-breaker.

------
akandiah
SpaceX also use it for their Dragon spacecraft:
<http://www.spacex.com/downloads/dragonlab-datasheet.pdf>

------
chucknelson
Cool, now I know that Apple routers use the same OS as Curiosity.

~~~
zeethrow
And Linksys.

------
sgt
What does SpaceX use? Anyone got juicy details?

~~~
basicxman
VxWorks as well, <http://www.spacex.com/downloads/dragonlab-datasheet.pdf>

------
fungi
anyway to get my hands on it to have a play?

~~~
jtdowney
Volunteer to mentor a FIRST Robotics Competition
(<http://www.usfirst.org/roboticsprograms/frc>) team. The robots built for the
competition use a National Instrument cRIO
(<http://en.wikipedia.org/wiki/CRIO>) which run VxWorks 6.3.

