Are We RTOS Yet?

The state of Real Time Operating Systems in Rust.

Status

We are not RTOS, yet.

There are only a handful of RTOS' written in rust, and only one of them compiles on stable.

The future is bright for RTOS' in rust, the language has many features that benefit RTOS development:

  • Procedural macros allow RTIC to guarantee deadlock-free execution at compile time.
  • no_std executors allow embassy and drone to provide cooperative scheduling with await syntax
  • const functions allow R3 to configure the RTOS as much as possible at compile time

Ecosystem

Many of these are not true RTOS':

  • Some are not real-time
  • Some are more accurately described as execution frameworks instead of operating systems
NameNative RustCompiles on stableLicenseLanguage(s)
aerugoMIT OR Apache-2.0en
bernMITen
droneMIT OR Apache-2.0en
embassyMIT OR Apache-2.0en
freertosPartialMITen
hubrisMPL-2.0en
lilosMPL-2.0en
MnemOSMIT OR Apache-2.0en
R3MIT OR Apache-2.0en
RIOT-OSLGPL-2.1en
rtApache-2.0en
RTICMIT OR Apache-2.0en, ru
TockPartialMIT OR Apache-2.0en
tornadoApache-2.0 OR MulanPSL-2.0zh
WasefireApache-2.0en
zephyrApache-2.0en

Stats