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.
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.
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.
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):
- 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)
- 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.
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:
- ISS Update: Computer Upgrade on Station about the computer upgrade of the computer systems in May 2013. It was a circuit board upgrade to improve processing performance (memory, CPUs, etc.). They upgraded 7 of the 47 MDMs which control the space station.
- NASA ISS Stream Computer Reboot: this is the computer that streams the cameras, and seems to be running VxWorks from Wind River Systems