Ariel OS: An Embedded Rust Operating System for Networked Sensors&Multi-Core Microcontrollers

📅 2025-04-28
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing embedded Rust operating systems lack support for preemptive multicore scheduling on microcontrollers. This paper introduces Ariel OS—the first Rust-based embedded OS designed specifically for 32-bit multicore MCUs (ARM Cortex-M, RISC-V, and Xtensa), enabling safe, real-time, and portable preemptive multicore scheduling. Our approach centers on three key contributions: (1) the first zero-cost abstraction multicore scheduler implemented in bare-metal Rust; (2) a lightweight RTOS kernel built upon a concurrency-aware memory safety model; and (3) integrated multicore synchronization primitives—including MPSC channels and spinlocks—alongside fine-grained bare-metal interrupt management. Microbenchmarking across all three architectures demonstrates near-linear multicore speedup and sub-microsecond scheduling latency. The complete implementation is open-source and supports out-of-the-box deployment.

Technology Category

Application Category

📝 Abstract
Large swaths of low-level system software building blocks originally implemented in C/C++ are currently being swapped for equivalent rewrites in Rust, a relatively more secure and dependable programming language. So far, however, no embedded OS in Rust supports multicore preemptive scheduling on microcontrollers. In this paper, we thus fill this gap with a new operating system: Ariel OS. We describe its design, we provide the source code of its implementation, and we perform micro-benchmarks on the main 32-bit microcontroller architectures: ARM Cortex-M, RISC-V and Espressif Xtensa. We show how our scheduler takes advantage of several cores, while incurring only small overhead on single-core hardware. As such, Ariel OS provides a convenient embedded software platform for small networked devices, for both research and industry practitioners.
Problem

Research questions and friction points this paper is trying to address.

Developing a Rust-based embedded OS for multicore microcontrollers
Enabling preemptive scheduling on diverse microcontroller architectures
Providing a secure platform for networked sensor applications
Innovation

Methods, ideas, or system contributions that make the work stand out.

Embedded Rust OS for networked sensors
Supports multicore preemptive scheduling
Low overhead on single-core hardware
🔎 Similar Papers
No similar papers found.
Elena Frank
Elena Frank
Inria, France; Freie Universitaet Berlin, Germany; Einstein Center Digital Future, Germany
K
Kaspar Schleiser
Inria, France; Freie Universitaet Berlin, Germany; Einstein Center Digital Future, Germany
R
Romain Fouquet
Inria, France
K
Koen Zandberg
Freie Universitaet Berlin, Germany
C
Christian Amsuss
Inria, France; Einstein Center Digital Future, Germany
Emmanuel Baccelli
Emmanuel Baccelli
Inria & FU Berlin
Communication ProtocolsEmbedded SoftwareStandardizationDistributed AlgorithmsCybersecurity