↓ Skip to main content

Operating Systems on Mars: VxWorks, Linux, and Heterogeneous Computing

Operating Systems on Mars: VxWorks, Linux, and Heterogeneous Computing
#

In February 2021, NASA’s Perseverance rover successfully landed in Jezero Crater on Mars after the famous “Seven Minutes of Terror.” Traveling with it was the Ingenuity helicopter, a small aircraft roughly the size of a table. When people discovered that Ingenuity ran Linux, a programmer-style joke quickly emerged: Mars might have become the second planet after Earth where Linux computers outnumber Windows computers.

But if we count the computers responsible for controlling Mars rovers, Linux was not the dominant operating system in 2021. For decades, NASA’s Mars missions had relied on a less familiar name in the desktop computing world: VxWorks.

Five years later, the story has evolved considerably. Discussing operating systems on Mars is no longer simply a contest between VxWorks and Linux. A more important trend is emerging: high-reliability real-time computers are working alongside high-performance general-purpose processors to form heterogeneous computing systems.

This shift reflects a fundamental change in deep-space engineering. Mars robots must remain safe and dependable while gaining the computing power needed to navigate, recognize terrain, and make increasingly autonomous decisions.

🚀 1. VxWorks: The Veteran Operating System Behind NASA’s Mars Missions
#

VxWorks is a real-time operating system (RTOS) developed by Wind River. Its fundamental difference from Windows, macOS, and desktop Linux lies not in its user interface, but in its design priorities.

Desktop operating systems emphasize throughput, interactive responsiveness, and application ecosystems. Real-time operating systems must also ensure that critical tasks execute within defined timing constraints.

For a Mars rover, this distinction is essential. Wheel control, robotic-arm movement, attitude management, communications, temperature monitoring, power management, and entry, descent, and landing operations cannot tolerate unpredictable delays caused by unrelated background workloads.

A critical operation must not merely finish eventually. It must finish within the required time.

In real-time systems, a correct result delivered too late can be as useless as an incorrect result.

VxWorks entered NASA’s Mars exploration program with the Mars Pathfinder mission. Wind River has described Pathfinder as the first mission to take a commercial operating system to Mars. Subsequent NASA Mars missions, including Spirit, Opportunity, Curiosity, InSight, and Perseverance, continued to use VxWorks in their onboard computing systems.

Curiosity, for example, uses the radiation-hardened RAD750 processor. VxWorks supports essential onboard functions involving spacecraft control, scientific operations, and communications.

One historical detail is easy to overlook: the 1997 Mars Pathfinder mission included both a lander and the Sojourner rover. VxWorks primarily ran on the Pathfinder lander’s computer, so it would be inaccurate to conclude that every early Mars rover independently ran the operating system.

Why Does Aerospace Keep Using a Mature Operating System?
#

The answer becomes obvious when we consider the operating environment.

A Mars rover is an expensive spacecraft operating millions of kilometers away from Earth. Once something fails, engineers cannot simply travel to the site, replace a circuit board, and reboot the machine in person.

In this environment, the most valuable software is not necessarily the newest or fastest. It is software that has been thoroughly tested, whose failure modes are understood, and whose behavior can be trusted.

Operational verification is often more valuable than theoretical performance.

A proven software platform allows engineers to reuse and refine drivers, communication stacks, fault-protection mechanisms, scheduling strategies, diagnostic tools, and extensive test procedures. This accumulated engineering knowledge is one of the reasons NASA and the Jet Propulsion Laboratory (JPL) have maintained established real-time software technologies over multiple generations of missions.

For deep-space systems, mature technology is not necessarily outdated technology. It can be a major risk-reduction asset.

For an overview of rover computing platforms, see Comparison of embedded computer systems on board the Mars rovers.

For more information about the real-time operating system behind many embedded and aerospace applications, visit VxWorks.net.

🐧 2. Ingenuity: How Linux Reached the Martian Surface
#

The helicopter that challenged the traditional Mars computing model was Ingenuity.

Originally designed as a technology demonstration, Ingenuity was not intended to perform Perseverance’s main scientific and operational tasks. Its primary objective was to demonstrate that powered, controlled flight was possible in the Martian atmosphere, whose density is only about 1% of Earth’s near the surface.

This experimental mission created an opportunity to use a computing platform that differed significantly from traditional spacecraft avionics.

Its main computing platform consisted of:

  • Processor: Qualcomm Snapdragon 801.
  • Operating system: Linux.
  • Flight software framework: NASA JPL’s F´, also known as F Prime.

JPL’s official F´ project documentation identifies Ingenuity’s computing platform as the Snapdragon 801 running Linux.

An important distinction is that F´ is not an operating system. It is a modular flight software framework that runs on top of an operating system and helps organize software components for commands, telemetry, communications, device management, and mission applications.

The Snapdragon 801 was originally developed for commercial mobile devices. By the time Ingenuity flew on Mars, the processor was already several generations removed from the cutting edge of consumer electronics.

Yet compared with traditional aerospace computers, its computing capabilities were impressive.

Radiation Resistance Versus Computing Performance
#

Ingenuity highlighted a long-standing trade-off in aerospace engineering:

  • Radiation-hardened processors are designed to tolerate demanding radiation environments, but often provide much less computing performance than modern commercial chips.
  • Commercial processors offer powerful CPUs, GPUs, and mature software ecosystems, but are not necessarily designed to survive deep-space radiation exposure without additional protection and system-level safeguards.

Traditionally, NASA missions have relied heavily on the first category for critical onboard operations.

Ingenuity demonstrated that the second category could also deliver remarkable results when used in a carefully controlled mission with appropriate engineering safeguards.

The lesson was not that radiation-hardened computers had become unnecessary. Instead, commercial computing hardware had become a viable option for selected space applications, especially when high performance mattered more than following the most conservative hardware design.

🛰️ 3. Perseverance Is More Than a Single RAD750 Computer
#

The description “Perseverance uses a RAD750 processor and VxWorks” is broadly useful, but it does not fully represent the rover’s computing architecture.

Perseverance has two identical Rover Compute Elements (RCEs), designated RCE A and RCE B. One normally operates the rover while the other provides redundancy.

Both use radiation-hardened RAD750 processors. NASA’s published standard memory configuration for each RCE includes:

  • 256 MB of DRAM.
  • 2 GB of flash memory.
  • 256 KB of EEPROM.

These specifications illustrate how different deep-space computing can look from modern terrestrial computing. A processor that seems modest by consumer standards can be entirely appropriate when reliability, environmental tolerance, predictable behavior, and mission longevity are the primary considerations.

The Vision Compute Element
#

Perseverance also carries a third RAD750-based computer called the Vision Compute Element (VCE).

Together with a Xilinx Virtex-5 FPGA, this computer supported Terrain-Relative Navigation during landing. The navigation system used images of the Martian surface to help the spacecraft estimate its position and avoid hazardous landing areas.

Following landing, the VCE could also support visual processing and autonomous navigation on the Martian surface.

The rover’s onboard computing architecture therefore includes distinct components for different classes of work:

  • RCE A and RCE B: RAD750-based computers responsible for the rover’s principal computing functions and redundancy.
  • VCE: A RAD750-based vision computer paired with an FPGA for image-related processing and navigation tasks.

This already demonstrates an important principle: even before commercial processors entered the picture, Perseverance was not relying on a single general-purpose computer to handle everything.

The Snapdragon Processor Gets a Second Job
#

The more surprising development concerns the Snapdragon processor originally installed to support Ingenuity.

To communicate with the helicopter, Perseverance carried an internal Helicopter Base Station (HBS), which included another Qualcomm Snapdragon 801.

When Ingenuity’s flight mission ended, the processor did not become useless hardware. Instead, JPL engineers began investigating how to repurpose it as a high-performance coprocessor for Perseverance.

A 2026 JPL paper describes a particularly interesting contrast between these systems:

Feature Rover Compute Element Helicopter Base Station
Processor Radiation-hardened RAD750 Qualcomm Snapdragon 801
Operating system VxWorks 6.7 Linux 3.8
Primary characteristic High reliability High computing performance
Computing resources Conventional embedded CPU resources Four CPU cores, GPU, DSP, and other resources
Engineering priority Dependable critical operations Computationally intensive workloads

The comparison reveals two very different approaches to spacecraft computing.

One platform prioritizes predictable, well-established operation in a demanding radiation environment. The other offers far more computational resources by terrestrial embedded-system standards, but requires additional safeguards to manage its vulnerabilities.

Rather than replacing the original avionics, the commercial processor creates an additional layer of computing capacity.

🔧 4. One Computer Protects the Mission, Another Makes It Smarter
#

The emergence of this architecture is more significant than asking whether Linux has replaced VxWorks on Mars.

The core RAD750 and VxWorks system can continue handling critical real-time responsibilities, while the Snapdragon and Linux system performs computationally intensive image processing and navigation algorithms.

JPL has already investigated using the Snapdragon platform to execute Perseverance’s Onboard Global Localization algorithm.

The process works roughly as follows:

  1. The rover captures panoramic images with its navigation cameras.
  2. The system constructs a local representation of the surrounding terrain.
  3. It compares that terrain representation with high-resolution maps created from orbital imagery.
  4. The rover estimates its absolute position on Mars using the map-matching results.

The algorithm can improve positioning accuracy without depending exclusively on traditional dead reckoning, which accumulates errors as a rover moves.

In the reported evaluation using 264 sets of real Martian panoramic data, localization achieved an accuracy of approximately 0.36 meters, with 99% of results differing from manual positioning benchmarks by less than 0.93 meters.

These results show why adding commercial computing resources can be valuable: better algorithms and greater processing capacity can improve the rover’s ability to understand where it is and navigate its environment.

The Weakness of Commercial Processors
#

The Snapdragon’s greatest strength—its commercial-grade computing performance—comes with an important weakness.

Unlike the RAD750, it was not designed as a radiation-hardened spacecraft processor.

High-energy particles can cause memory bit flips, disturb electronic circuits, and create other faults. Radiation-related effects can be particularly concerning when software assumes that memory contents remain unchanged.

JPL has reported observing abnormal bits in the HBS memory during actual operations. This is a reminder that successful operation of a commercial processor on Mars does not mean its physical environment has become harmless.

The answer is not to trust the Linux computer without qualification. Instead, system-level safeguards can limit the consequences of errors.

Potential measures include:

  • Isolation: Preventing faults in the high-performance subsystem from propagating into critical control functions.
  • Checksums and integrity checks: Detecting corrupted data before they are used.
  • Redundant calculations: Comparing results or repeating selected computations when necessary.
  • Memory testing: Identifying memory problems and monitoring the health of the system.
  • Reasonableness checks: Allowing the more trusted control computer to evaluate whether outputs from the high-performance subsystem are plausible before acting on them.

These techniques do not make a commercial processor equivalent to a radiation-hardened one. They help manage the risks of using a less radiation-tolerant device within a larger, carefully engineered system.

This leads to a useful principle for future spacecraft architecture:

Reliable computers protect the mission. High-performance computers expand what the mission can accomplish.

Put less formally, one is responsible for staying dependable, while the other is responsible for making the spacecraft smarter.

🇨🇳 5. What Operating Systems Do Tianwen-1 and Zhurong Use?
#

China’s Tianwen-1 mission and its Zhurong rover provide another perspective on Mars computing.

On February 10, 2021, at 19:52 Beijing time, Tianwen-1 performed its Mars orbit-insertion braking maneuver. On May 15, the lander-rover combination reached the surface in the southern part of Utopia Planitia. On May 22, at 10:40 Beijing time, Zhurong drove off the landing platform and began its surface patrol.

Following the mission’s success, Kylin Software publicly stated that the Kylin operating system supported Tianwen-1’s flight-control process and Martian surface operations. Chinese state media also reported the use of Kylin in connection with Tianwen-1’s successful landing on Mars.

These disclosures establish that Kylin participated in the Tianwen-1 mission’s software system. However, they do not, by themselves, fully identify the exact operating system running on every onboard computer.

In particular, one should be cautious about turning the statement “Tianwen-1 uses Kylin” into the more specific claim that “the Zhurong rover runs a particular version of Kylin.”

The two statements are not necessarily equivalent. A spacecraft mission can contain multiple computers, controllers, and dedicated processing subsystems, potentially running different software stacks.

To establish the precise operating system of Zhurong’s main computer, stronger technical documentation would be needed to identify the corresponding processor, bootloader, kernel, real-time scheduler, and operating system version.

Zhurong’s Heterogeneous Computing Architecture
#

Published engineering research provides another important piece of the picture.

A 2025 review of computing for deep-space exploration describes Zhurong as using a heterogeneous architecture involving a CPU, a digital signal processor (DSP), and a field-programmable gate array (FPGA).

These processing elements serve different purposes, including environmental perception, navigation and obstacle avoidance, and image compression.

Research on Zhurong’s image-compression system specifically describes an FPGA-plus-DSP implementation that underwent verification on Mars.

This arrangement reflects a practical embedded-system design philosophy: not every computational problem needs to run on the main CPU.

  • CPU: Executes general-purpose control and software tasks.
  • DSP: Handles selected signal-processing and numerical workloads efficiently.
  • FPGA: Implements specialized hardware processing pipelines with predictable execution characteristics.

The exact division of responsibility depends on the subsystem, but heterogeneous computing enables engineers to choose hardware that better matches each workload.

What Can We Conclude About Zhurong’s Operating System?
#

A careful reading of the publicly described architecture supports two conclusions:

First, Kylin has been publicly identified as supporting the Tianwen-1 mission.

Second, Zhurong uses heterogeneous onboard computing that includes CPU, DSP, and FPGA resources, according to published technical research.

However, the public technical information discussed here does not sufficiently establish the exact name and version of the operating system running on Zhurong’s main control computer.

It is therefore better to preserve that distinction than to speculate that the rover must be running a particular proprietary or independently developed real-time operating system.

In aerospace engineering, an honest boundary between documented facts and plausible inference is more useful than an attractive but unsupported conclusion.

🌌 6. Mars Needs More Than One Operating System
#

Looking back from Pathfinder to Perseverance, from Ingenuity to Zhurong, a broader pattern emerges in the development of deep-space computing.

Different platforms represent different engineering priorities.

VxWorks: Reliability and Predictable Real-Time Behavior
#

VxWorks represents the traditional strengths of embedded real-time computing: deterministic scheduling, controlled resource use, mature device support, and long-term verification.

These properties are especially valuable when software interacts directly with critical spacecraft functions.

Linux: A Rich Software Ecosystem and Flexible Computing
#

Linux offers a mature software ecosystem and a flexible environment for developing sophisticated applications. Combined with powerful commercial processors, it can support complex image processing, localization, and autonomous navigation algorithms.

Its use on Ingenuity and the repurposing of the Snapdragon platform illustrate how commercial computing resources can complement traditional avionics.

CPU + DSP + FPGA: Matching Hardware to the Workload
#

Zhurong’s heterogeneous architecture illustrates another strategy: divide computational responsibilities among processors designed for different types of work.

A general-purpose CPU does not necessarily execute every numerical, signal-processing, or image-processing task most efficiently. DSPs, FPGAs, and other accelerators can improve performance and help provide predictable execution for selected workloads.

These strategies are not mutually exclusive. A sophisticated spacecraft may combine real-time operating systems, Linux-based subsystems, programmable logic, digital signal processors, and multiple layers of fault detection.

From Spacecraft Control to Autonomous Edge Computing
#

By 2026, the most interesting question about Mars operating systems is no longer simply:

VxWorks or Linux?

The more consequential question is how to construct a heterogeneous computing platform that remains dependable while supporting increasingly sophisticated autonomous behavior.

Future Mars systems may combine real-time operating systems for safety-critical functions, CPUs for general-purpose computation, FPGAs and DSPs for specialized processing, and potentially GPUs, neural processing units (NPUs), or other dedicated AI accelerators for more demanding workloads.

Such additions are possibilities rather than guaranteed features of every future mission. Their suitability will depend on radiation tolerance, power consumption, heat dissipation, reliability requirements, and the computational value they provide.

Nevertheless, the broader direction is clear: spacecraft computing is evolving from a single-processor model toward a coordinated system of specialized computing resources.

🧭 7. The Future of Mars Computing Is About Reliability and Intelligence
#

The underlying reason for this evolution is straightforward.

Earth and Mars are separated by tens to hundreds of millions of kilometers, depending on their positions in orbit. Communication delays make it impossible for humans to control Mars robots in real time in the same way that a pilot operates a nearby remote-controlled drone.

A rover must increasingly interpret its surroundings, plan routes, detect faults, select scientific targets, manage its power, and determine which observations are valuable enough to transmit back to Earth.

These responsibilities require both dependable control and substantial computing capacity.

Traditional real-time systems remain essential because the rover must continue operating safely and predictably. Higher-performance processors and specialized accelerators expand its ability to interpret the environment and make decisions with less human intervention.

The resulting architecture is not a simple contest between old and new technology:

  • VxWorks and similar real-time systems provide established foundations for critical control.
  • Linux enables flexible applications and access to a broad software ecosystem.
  • Radiation-hardened processors help maintain dependable operation in harsh environments.
  • Commercial processors provide additional computational capacity where their limitations can be managed.
  • DSPs, FPGAs, and future accelerators handle workloads that benefit from specialized hardware.

Each contributes a different capability to the overall mission.

Ultimately, the next generation of Mars exploration will not be defined by which operating system wins a popularity contest. It will be defined by how effectively engineers combine reliability, computing performance, autonomy, and fault tolerance.

The real objective is not simply to put a faster computer on Mars.

It is to build a Mars computing platform that stays alive when conditions are hostile and becomes increasingly capable when the mission demands intelligence.

Related