Aerospace and Electronic Systems Magazine October 2017 - 10

Current Use of Linux in Spacecraft Flight Software
dent processors. In total, the Dragon spacecraft has at least 54 different off-the-shelf processors, and Falcon 9 has at least 30. Radiation-hardened parts are not avoided because of cost, but rather
because they often cannot match with commercial hardware in
terms of size, power consumption, performance, tools, and support. SpaceX also selected Linux and C++ to be able to tap into
the huge developer community for these environments-there
are many more Linux and C++ developers than, for example, VxWorks and Ada developers. SpaceX also expects that greater availability of hardware leads to greater familiarity with the system,
thus reducing bugs; flight software developers have several of the
flight computers on their desks. They are also iterating and developing new versions of the computer to be used in future missions,
and aiming to learn from experience. Developing new versions
of the computer also allows using the latest parts available in the
market. New industrial-grade parts become available much more
frequently than radiation-hardened parts [27].
SpaceX began their flight software development with a combination of VxWorks for the primary computer and Linux for
running communication gateways, but moved on to use a highly
customized Linux everywhere after becoming comfortable with
the Linux scheduler and kernel real-time patch progress. Reasons
for selecting Linux included the availability of source code and
thus programmability, its enterprise-level stability, availability of
soft real-time patches, and its wide user community [26]. SpaceX
uses Linux on their primary flight computers for Dragon spacecraft
and Falcon 9 launch vehicle, and also for their test vehicles, such
as Grasshopper. Their version of Linux is based on the 3.2 kernel
with real-time patches. Only those functionalities needed for the
SpaceX implementation have been carried from the original kernel-only around 10-15 percent of original code. SpaceX has also
made their own mission-specific modifications to the kernel, and
custom drivers have also been added. The kernel has been carefully
evaluated, especially focusing on the scheduler performance [29].
SpaceX started spacecraft software development with the Falcon series of rockets, and transitioned the avionics code to the
Dragon spacecraft. Parts of the transferred avionics code had thus
already been proved in flight. Sharing the code bases also means
bugs get fixed on all platforms. Reaction times are the main difference with a launch vehicle and an orbital spacecraft; a launch
vehicle must typically react much faster [28].
SpaceX flight software developers use a lot of standard GNU
tools such as gcc, gdb, ftrace, netfilter, and iptables. SpaceX includes extensive metrics gathering to their software, including but
not limited to performance, network utilization, and CPU load. This
information is collected and stored along with spacecraft telemetry
and software versions in use; this allows reproduction of any encountered situation, especially useful when analyzing failures. Metrics data is automatically parsed to raise alarms if software behavior
is out of ordinary. Software development processes, such as enforcing coding standards, are automated where possible [28].

POTENTIAL BENEFITS AND DRAWBACKS
As mentioned before, the idea of using Linux in spacecraft on-board
computing dates back at least to 1999 to the FlightLinux project,
10

and some of the issues identified then are still relevant. This section
considers potential benefits and drawbacks of Linux use.

BENEFITS
The benefits of using Linux in spacecraft flight software are similar to those for embedded systems in general. Yaghmour [6] and
Hallinan [8] have identified the following benefits for using Linux
in embedded systems.
C

C

C

C

C

C

Support for many hardware architectures-perhaps widest
support by any OS-allows freedom in selection of the hardware platform
The Linux code base can be relied upon due to its very wide
adoption, and availability of source code allows verifying
correctness and correcting found problems without delay
Support for many communication protocols and standards
make interfacing with external devices easy
Availability of standardized development tools for example
from the GNU project
Large developer community provides support and developer
recruitment pool
Possibility of vendor independence, open source licensing,
and low cost of adoption,

furthermore, Birrane, et al. [5] have found more specific benefits
of using Linux in spacecraft flight software:
C
C

C

C

Optional (soft) real-time capabilities
Parts of software can be developed and debugged on desktop
Linux computers and ported to flight environment with little
effort
Existence of huge catalogue of Linux software from various
industries that can be taken into use in the flight computer
with little effort, including data compression, file systems,
operations scheduling, data processing, security-related software, algorithms, and scripting
Standards such as POSIX allow flight software to be decoupled by modularizing it to sets of programs or processes
that run on Linux, reducing development time and allowing
per-program updates to the system.

Many of the projects analyzed in the previous section also
noted their reasons for choosing Linux, which usually reflected the
items mentioned above.
Open-source software may sometimes be perceived as error
prone; however, since the software code is freely available, any
possibly present bugs are detected and fixed more quickly, and the
fixes can be provided back to the community. Developers may also
add useful features to the software, and make them available to
other users. Nearly all projects studied in this article considered
the availability of Linux source code beneficial to them, as they
could find problems, test modifications, and make customizations
easily [30], [31].

IEEE A&E SYSTEMS MAGAZINE

OCTOBER 2017



Table of Contents for the Digital Edition of Aerospace and Electronic Systems Magazine October 2017

No label
Aerospace and Electronic Systems Magazine October 2017 - No label
Aerospace and Electronic Systems Magazine October 2017 - Cover2
Aerospace and Electronic Systems Magazine October 2017 - 1
Aerospace and Electronic Systems Magazine October 2017 - 2
Aerospace and Electronic Systems Magazine October 2017 - 3
Aerospace and Electronic Systems Magazine October 2017 - 4
Aerospace and Electronic Systems Magazine October 2017 - 5
Aerospace and Electronic Systems Magazine October 2017 - 6
Aerospace and Electronic Systems Magazine October 2017 - 7
Aerospace and Electronic Systems Magazine October 2017 - 8
Aerospace and Electronic Systems Magazine October 2017 - 9
Aerospace and Electronic Systems Magazine October 2017 - 10
Aerospace and Electronic Systems Magazine October 2017 - 11
Aerospace and Electronic Systems Magazine October 2017 - 12
Aerospace and Electronic Systems Magazine October 2017 - 13
Aerospace and Electronic Systems Magazine October 2017 - 14
Aerospace and Electronic Systems Magazine October 2017 - 15
Aerospace and Electronic Systems Magazine October 2017 - 16
Aerospace and Electronic Systems Magazine October 2017 - 17
Aerospace and Electronic Systems Magazine October 2017 - 18
Aerospace and Electronic Systems Magazine October 2017 - 19
Aerospace and Electronic Systems Magazine October 2017 - 20
Aerospace and Electronic Systems Magazine October 2017 - 21
Aerospace and Electronic Systems Magazine October 2017 - 22
Aerospace and Electronic Systems Magazine October 2017 - 23
Aerospace and Electronic Systems Magazine October 2017 - 24
Aerospace and Electronic Systems Magazine October 2017 - 25
Aerospace and Electronic Systems Magazine October 2017 - 26
Aerospace and Electronic Systems Magazine October 2017 - 27
Aerospace and Electronic Systems Magazine October 2017 - 28
Aerospace and Electronic Systems Magazine October 2017 - 29
Aerospace and Electronic Systems Magazine October 2017 - 30
Aerospace and Electronic Systems Magazine October 2017 - 31
Aerospace and Electronic Systems Magazine October 2017 - 32
Aerospace and Electronic Systems Magazine October 2017 - 33
Aerospace and Electronic Systems Magazine October 2017 - 34
Aerospace and Electronic Systems Magazine October 2017 - 35
Aerospace and Electronic Systems Magazine October 2017 - 36
Aerospace and Electronic Systems Magazine October 2017 - 37
Aerospace and Electronic Systems Magazine October 2017 - 38
Aerospace and Electronic Systems Magazine October 2017 - 39
Aerospace and Electronic Systems Magazine October 2017 - 40
Aerospace and Electronic Systems Magazine October 2017 - 41
Aerospace and Electronic Systems Magazine October 2017 - 42
Aerospace and Electronic Systems Magazine October 2017 - 43
Aerospace and Electronic Systems Magazine October 2017 - 44
Aerospace and Electronic Systems Magazine October 2017 - 45
Aerospace and Electronic Systems Magazine October 2017 - 46
Aerospace and Electronic Systems Magazine October 2017 - 47
Aerospace and Electronic Systems Magazine October 2017 - 48
Aerospace and Electronic Systems Magazine October 2017 - 49
Aerospace and Electronic Systems Magazine October 2017 - 50
Aerospace and Electronic Systems Magazine October 2017 - 51
Aerospace and Electronic Systems Magazine October 2017 - 52
Aerospace and Electronic Systems Magazine October 2017 - 53
Aerospace and Electronic Systems Magazine October 2017 - 54
Aerospace and Electronic Systems Magazine October 2017 - 55
Aerospace and Electronic Systems Magazine October 2017 - 56
Aerospace and Electronic Systems Magazine October 2017 - 57
Aerospace and Electronic Systems Magazine October 2017 - 58
Aerospace and Electronic Systems Magazine October 2017 - 59
Aerospace and Electronic Systems Magazine October 2017 - 60
Aerospace and Electronic Systems Magazine October 2017 - 61
Aerospace and Electronic Systems Magazine October 2017 - 62
Aerospace and Electronic Systems Magazine October 2017 - 63
Aerospace and Electronic Systems Magazine October 2017 - 64
Aerospace and Electronic Systems Magazine October 2017 - 65
Aerospace and Electronic Systems Magazine October 2017 - 66
Aerospace and Electronic Systems Magazine October 2017 - 67
Aerospace and Electronic Systems Magazine October 2017 - 68
Aerospace and Electronic Systems Magazine October 2017 - Cover3
Aerospace and Electronic Systems Magazine October 2017 - Cover4
http://www.brightcopy.net/allen/aesm/34-2s
http://www.brightcopy.net/allen/aesm/34-2
http://www.brightcopy.net/allen/aesm/34-1
http://www.brightcopy.net/allen/aesm/33-12
http://www.brightcopy.net/allen/aesm/33-11
http://www.brightcopy.net/allen/aesm/33-10
http://www.brightcopy.net/allen/aesm/33-09
http://www.brightcopy.net/allen/aesm/33-8
http://www.brightcopy.net/allen/aesm/33-7
http://www.brightcopy.net/allen/aesm/33-5
http://www.brightcopy.net/allen/aesm/33-4
http://www.brightcopy.net/allen/aesm/33-3
http://www.brightcopy.net/allen/aesm/33-2
http://www.brightcopy.net/allen/aesm/33-1
http://www.brightcopy.net/allen/aesm/32-10
http://www.brightcopy.net/allen/aesm/32-12
http://www.brightcopy.net/allen/aesm/32-9
http://www.brightcopy.net/allen/aesm/32-11
http://www.brightcopy.net/allen/aesm/32-8
http://www.brightcopy.net/allen/aesm/32-7s
http://www.brightcopy.net/allen/aesm/32-7
http://www.brightcopy.net/allen/aesm/32-6
http://www.brightcopy.net/allen/aesm/32-5
http://www.brightcopy.net/allen/aesm/32-4
http://www.brightcopy.net/allen/aesm/32-3
http://www.brightcopy.net/allen/aesm/32-2
http://www.brightcopy.net/allen/aesm/32-1
http://www.brightcopy.net/allen/aesm/31-12
http://www.brightcopy.net/allen/aesm/31-11s
http://www.brightcopy.net/allen/aesm/31-11
http://www.brightcopy.net/allen/aesm/31-10
http://www.brightcopy.net/allen/aesm/31-9
http://www.brightcopy.net/allen/aesm/31-8
http://www.brightcopy.net/allen/aesm/31-7
https://www.nxtbookmedia.com