And you thought upgrading your operating system was a pain?
Engineers over at NASA's Jet Propulsion Laboratory are currently performing one of the bigger software updates of the century – one that's taking place millions upon millions of miles away from their headquarters in Pasadena, California.
That's right: the Mars rover, Curiosity, is getting a software update.
The four-day process will involve NASA ditching the rover's landing functionality and replacing it with an R10 update, which should allow the rover to drive and make use of its geochemistry lab sampling system.
Remember, the rover shipped off to Mars in 2011 and was built for interplanetary space flight and an eventual landing. It's not rocking an Intel Core i7 processor and terabytes of storage. Rather, a single-board RAD750 setup that uses a PowerPC 750 clocked at around 200 MHz in addition to (a whopping) 256 megabytes of DRAM and two gigabytes of flash storage.
"My phone has a processor that is 10 times as fast as the processor that's on Curiosity and has 16 times as much storage as Curiosity has," said senior software engineer Ben Cichy in an interview with the Los Angeles Times. "And my phone doesn't have to land anything on Mars."
The operating system powering Curiosity itself is VxWorks, a 27-year-old OS that's used in more places than just planetary exploration. The OS also powers everything from Apache Longbow helicopters (that you don't have sitting in your living room) to the Apple AirPort Extreme (that you might).
So, why the four-day process? It's not necessarily because of the distance between Earth and Mars. The upgrade team is taking their time to ensure that everything goes smoothly – the rover itself will be solely concentrating on upgrading during this time to minimise interference and ensure that everything works perfectly during and after.
The first day - though to have been Saturday - will involve a soft install of the new R10 software, followed by a full installation on the second day and a full installation to Curiosity's backup computer on the third.
"You have to imagine that if something goes wrong with this, it could be the last time you hear from the rover," said senior flight software engineer Steve Scandore in an interview with Computerworld. "It has to work. You don't want to be known as the guy doing the last activity on the rover before you lose contact."