14
$\begingroup$

I've seen some of the articles mention that ISS switched from Windows to Linux. But that's just considering the laptops. What OS are the other computers present on ISS running? I would think that e.g. life support isn't running on a laptop and isn't using an off-the-shelf operating system.

$\endgroup$
  • $\begingroup$ I just heard an article on NPR about this because there is an entire division devoted to updating and maintaining the software for the ISS (they mentioned that it required well over a million lines of code). I do not recall the language, however. I would not guess Windows though... Perhaps BASIC? $\endgroup$ – honeste_vivere Jan 15 '16 at 13:58
  • $\begingroup$ I am searching for a reference before I post an answer. I am pretty sure it is a unique OS. $\endgroup$ – Organic Marble Jan 15 '16 at 15:49
  • 1
    $\begingroup$ Several OSs are used on 80 laptops aboard the ISS. See also this answer on Quora, by Robert Frost, Instructor and Flight Controller at NASA. In short: Laptops with a Linux OS are used to communicate with the vehicle 1553 system as remote terminals. Laptops with a windows OS are used for communication over the internet, taking notes on experiments etc... The Russian section and the Japanese and European modules have their own laptops with different systems. $\endgroup$ – Paul Rougieux Nov 7 '17 at 10:51
14
$\begingroup$

I would think that e.g. life support isn't running on a laptop and isn't using an off-the-shelf operating system.

That is correct.

The heart and soul of the computational system in the Russian segment of the International Space Station is the Data Management System - Russia (DMS-R), which comprises a pair of fault tolerant computers (each of which has three independent CPUs that operate by voting) plus another pair of control post computers. These computers collectively operate life support, electrical power, communications, and guidance, navigation and control for the Russian segment. The DMS-R computers use VxWorks 5.3, an old (vintage late 1990s) version of the VxWorks operating system, as the OS. VxWorks is a proprietary realtime operating system that mostly looks like Unix.

The heart and soul of the computational system for the US segment is a set of 50+ computers that go under (IMHO) the terrible name of "Multiplexer / Demultiplexer". The USOS multiplexer/demultiplexers are programmed in Ada and use a bare Ada runtime environment. Depending on perspective, one can look at the MDMs as not having an operating system (which is quite common for embedded systems) or that the Ada RTE is the operating system.

Side note: A multiplexer/demultiplexer (MDM) is typically a rather simple and very low-level communications device that combines multiple signals into one (a multiplexer) and splits a single signal into multiple signals (a demultiplexer). The ISS MDMs are anything but simple and low-level. They collectively run over two million lines of Ada code.


What about all those laptops on the station? Originally, the space station was not supposed to have any commercial laptops. It was instead supposed to have "multipurpose application consoles" which were to be programmed in Ada by the same group that developed the USOS MDM software. That didn't work out for a number of reasons. Those laptops are used to do many different things, but they do not operate the life support system, or any of the other safety critical systems on the Station.

$\endgroup$
  • 1
    $\begingroup$ Good answer. My former-ODIN-flight-controller friend (responsible for the US computers) told me it was a proprietary system created by Honeywell, maker of the MDMs. But I couldn't find any linkable reference. Agreed that MDM is a horrible name, especially for Shuttle people, where it had a totally different meaning (there it was used to describe the devices you talk about in your second from last paragraph). $\endgroup$ – Organic Marble Jan 19 '16 at 16:39
  • 2
    $\begingroup$ @OrganicMarble -- IIRC, the ISS MDMs run on a bare Ada runtime environment, originally from Alsys (I think). I can't find a linkable reference, and all my paper references were shredded or turned over to someone else a long time ago. I can find the sordid history of Alsys: after a number of mergers and acquisitions, it eventually became a small part of Atego. $\endgroup$ – David Hammen Jan 20 '16 at 22:47
9
$\begingroup$

In short, I am pretty sure that no Windows systems are being used anymore. All/most laptops used by the astronauts have a Linux based operating systems (Debian). The Command and Data Handling (CDH) system, controls all major functions of the US segment, which contains Multiplexer/DeMultiplexers that mainly routes the data to and from other systems in the ISS. It is however not clear to me if these systems do have an operating system.

20 Jan 2016: Changed based on further research, and David Hammen's comments.


In both this blog article and this quora question they mention that the telemetry, commanding, and key station functions are controlled by systems with the Linux operating system, but no clear reference is given. Telegraph mentions that:

Dozens of laptops on the ISS's 'opsLAN' network - which provides the ship's crew with vital capabilities for day-to-day operations, from telling the astronauts where they are to interfacing with onboard cameras - will be switched, removing Windows entirely from the ISS.

But Linux was already present on most systems:

Linux is already used to run various systems aboard the ISS, including the world's first 'Robonaut', sent to the Space Station in 2011. 'R2' can be manipulated by astronauts as well as ground controllers and is designed to carry out tasks "too dangerous or mundane" for astronauts in microgravity, according to the Linux Foundation.

Furthermore one quora answer refers to this article which mentions that QNX RTOS, a micro-kernel real-time OS, was used on Space Shuttle missions to guide the Canadarm and on the International Space Station.


ESA's Data Management System: DMS-R:

is a set of computers, that provides for the overall control, mission and failure management of the entire Russian segment of the International Space Station.

However it is not clear to me which Operating System they are using.

An outdated NASA document of 1998 shows in Table 2-2 (p.40) some used computer systems as Crew Interface, but only two are listed with operating system:

  • Portable Computer System (PCS):
    • Purpose:
      • Execute Station mode changes
      • Manage Station C&W
      • Command and Control (C&C) U.S. systems
    • Hardware: IBM Thinkpad 760XD laptop at 8A
    • OS: Solaris UNIX operating system
  • Station Support Computer (SSC)
    • Purpose:
      • View U.S. and multisegment electronic procedures
      • Use inventory management system
      • View and edit onboard short term plan
      • Provide standard office automation tools and other crew support software
    • Hardware: IBM Thinkpad 760XD laptop at 8A
    • OS: Windows 95 operating system
    • Additional Thinkpad will serve as file server for RF Local Area Network that allows SSCs to communicate to server

Note: PCS and SSC are both laptops, not the flight computers as commented by Organic Marble.


Edit: As commented by David Hammen, the International Space Station was designed mid to end 1990s. Linux was also in development these days, starting with Linus' announcement in 1991, and Linux version 1.0 was launched in 1994. Real Time Linux was presented in 1997. This makes it improbable that the systems run, or at least ran, Linux or Real-Time Linux.

NASA's ISS guide update 2015 mentions:

The system for storing and transferring information essential to operating the ISS has been functioning at all stages of assembly and provides control from various segments of the ISS. The Enhanced Processor and Integrated Communications upgrade in some of the Multiplexer/Demultiplexers (MDMs) has vastly improved the processing and memory margins; in addition to adding a new Ethernet interface. The Portable Computer System laptops provide the crew interface for commanding and monitoring the ISS Core Systems hardware and associated software.

Quoting part of Robert Frost's answer on Quora about the ISS' computers:

There are two, or six, main computers, depending on how you want to think about it.

The US segment has a computer called the C&C MDM (Command and Control Multiplexer DeMultiplexer). Well, it's actually three nearly identical computers. They all run at the same time, and at any one time, one of them will be considered the primary, another the backup, and the third a standby. There are an additional forty or so lower level MDMs responsible for systems or hardware.

The Russian segment has a computer called the ЦВМ (Центральная вычислительная машина) (central computing machine). Well, it's actually three nearly identical computers, too. They operate a little differently, though. They operate simultaneously and tasks may be assigned to the different lanes.

From this nasaspaceflight.com article:

A Multiplexer/Demultiplexer (MDM) is essentially an electronics unit that sends and receives multiple streams of data, and thus all incoming and outgoing data to and from the ISS is routed to its correct destination via an MDM.

The ISS MDMs are part of the Command and Data Handling (CDH) system, which controls all major functions of the US segment of the ISS, including power generation and distribution, attitude control, environmental control, communications systems, and monitoring of scientific payloads. The MDMs contain all the software needed to control these systems, hence why they can essentially be thought of as computers.


Edit 2: Two interesting videos:

$\endgroup$
  • 3
    $\begingroup$ But it is branded iSS... $\endgroup$ – LocalFluff Jan 15 '16 at 17:49
  • 2
    $\begingroup$ The ISS was designed in the mid to late 1990s. That alone means that operating system (if there is one) on the computer that controls the life support system (the primary subject of this question) is not Linux. There was no such thing as a high reliability, real time Linux in the mid to late 1990s. $\endgroup$ – David Hammen Jan 17 '16 at 23:47
  • 2
    $\begingroup$ It was really tough choice to pick the answer to give the tick to from these two. I would love to have two ticks available - thanks for your extensive answer! $\endgroup$ – Radek Liska Jan 23 '16 at 8:51

protected by TildalWave Jan 15 '16 at 21:53

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.