Embedded Linux in a Partitioned
Architecture for Aerospace Applications
Jo
˜
ao Craveiro, Jos
´
e Rufino
LaSIGE–FCUL
Lisboa, Portugal
jcraveiro@lasige.di.fc.ul.pt, ruf@di.fc.ul.pt
Carlos Almeida, Rui Covelo, Pedro Venda
Instituto Superior T
´
ecnico
Lisboa, Portugal
cra@comp.ist.utl.pt, ruicovelo@gmail.com, pjvenda@pjvenda.org
Abstract—The ARINC 653 specification, defined for aeronau-
tical applications, has the goal of providing a standard interface
between a given real-time operating system (RTOS) and the
corresponding applications. It also provides robust partitioning,
with the final goal of guaranteeing safety and timeliness in
mission-critical systems. The interest in ARINC 653 has extended
to the aerospace industry, which resulted in the definition of
an architecture, compliant with the specification, allowing for
operating system heterogeneity. In this paper, we introduce
the problem of integrating generic operating systems onto
this architecture, and explore the case of GNU/Linux. Adding
GNU/Linux allows running existing applications or interpreted
scripts without needing to port the application or interpreter to
an RTOS. In embedded systems, we have to cope with scarce
resources and diverse existent hardware, and a balance between
both issues must be reached. For such, we show the genesis of
such a solution.
Index Terms—Aerospace industry, computer applications, op-
erating system kernels, operating systems, processor scheduling,
real time systems.
I. INTRODUCTION
The ARINC 653 specification [1], defined for aeronautical
applications, has the goal of providing a standard interface
between a given real-time operating system (RTOS) and
the corresponding applications — the APEX (Application
Executive) interface. It also presents a concept of temporal
and spatial segregation (which consists in the confining of
each application — partition, in ARINC 653 terminology
— to its memory space and to its temporal window of
possession of computing resources). The overall goal is to
guarantee safety and timeliness in mission-critical systems.
The interest in the concepts of the ARINC 653 specification
has extended to the aerospace industry. The AIR (ARINC 653
Interface in RTOS) project — under an industry consortium
initiative sponsored by the European Space Agency (ESA) —
resulted in the design and definition of a system architecture
compliant with ARINC 653 and independent of each specific
operating system (OS). Currently, the AIR-II (ARINC 653 in
Space RTOS — Industrial Initiative) project is in place, with
the goal of consolidating the AIR technology, and evolving
towards the definition of an industrial product for aerospace
applications. The independence of ARINC 653 towards the
operating system was naturally extended to the developed ar-
chitecture. Thus, the heterogeneity between the RTOS kernels
(RTEMS [2], eCos [3], VxWorks [4], etc.) in the various
partitions was foreseen.
In this paper, we introduce the effort of consolidating
and extending the architectural features to support this het-
erogeneity towards the operating system kernels to inte-
grate in each partition. These should include RTOS kernels
(free/open source, or commercial), and also general-purpose
operating systems kernels, like GNU/Linux. The relevance of
GNU/Linux specially concerns the availability of a wide set
of interfaces together with a wide set of application software.
Access of RTOS applications to these facilities can be achieved
using AIR inter-partition communication.
The paper is organised as follows. Section II presents the
architecture defined in the ARINC 653 specification. Section
III exposes the characteristics and properties of the AIR ar-
chitecture. Section IV introduces the purpose and problematic
of integrating generic operating systems, like GNU/Linux, into
this kind of architecture. It also includes a review of the Linux
state of the art, with emphasis on the features to approach real-
time behaviour. Section V describes the process of obtaining
a GNU/Linux tailored for embedded and/or real-time systems,
using a design-by-reuse approach. Section VI presents the
results from the experiences reported in Section V, namely in
terms of size and functionality comparison against a standard
GNU/Linux distribution. Section VIII closes this paper with
concluding remarks.
II. ARINC 653 CONCEPTS
The ARINC 653 specification is an important block from
the Integrated Modular Avionics (IMA) definition [5], where
the partitioning concept emerges for protection and functional
separation between applications, usually for fault containment
and ease of validation, verification, and certification [1], [6].
A. ARINC 653 System Architecture
The architecture of a standard ARINC 653 system is
sketched in Figure 1. At the application software layer, each
application is executed in a confined context, dubbed partition
in ARINC 653 terminology [1]. The application software layer
may include system partitions intended to manage interactions
with specific hardware devices.
Application partitions consist in general of one or more
processes and can only use the services provided by a logical