A comparison of operating systems written in Rust.
There are several open source operating systems written in Rust. Most of them are proofs of concepts. The only system that goes a step further is redox. It comes with a window manager as well as basic applications like an editor and a file manager. Theseus is approaching maturity with the ability to execute legacy components in a WASM sandboxed environment.
- redox (repository / homepage)
- Theseus OS (repository / homepage)
- Tock (repository / homepage)
- intermezzOS (repository / homepage)
- reenix (repository)
- rustboot (repository)
- RustOS (repository)
- QuiltOS (repository)
- Tifflin (rust_os) (repository)
- bkernel (repository)
- Quasar (repository)
- SOS (repository)
- MOROS (repository / homepage)
- Fexlix OS (repository)
- Aero (repository)
Name | Architectures | Pure Rust | Active? | Kernel architecture | Target | Userpace? | Optional GUI? | Contributors | Filesystem | License |
---|---|---|---|---|---|---|---|---|---|---|
redox | x86 and x86_64 | yes | yes | Microkernel | General purpose | yes | yes | 60 | ZFS/RedoxFS/FAT32 | MIT |
Theseus OS | x86_64, ARM WIP | yes | yes | Safe-language SAS/SPL OS1 | General + Embedded | N/A | yes | 25 | Custom/FAT32 | MIT |
Tock | Cortex M | yes | no | 40 | APL 2 / MIT | |||||
intermezzOS | x86_64 | no | yes | ? | PoC | no | no | 18 | no | APL 2 / MIT |
RustOS | i386 | ? | yes | None | PoC | no | no | 10 | no | APL 2 / MIT |
rustboot | i386 | ? | no | None | PoC | no | no | 8 | no | MIT |
bkernel | ARM | yes | yes | ? | Embedded devices | no | no | 4 | ? | GPL with linking exception |
SOS | x86_64 | yes | yes | Microkernel | PoC | no | no | 3 | ? | MIT |
reenix | Brown's CS167/9 | no | no | Monolithic (current state) | PoC | no | no | 3 | ? | unknown |
Quasar | x86_64 | ? | no | ? | ? | no | no | 2 | ? | ? |
Tifflin | x86_64/amd64 | almost | yes | Monolithic | ? | ? | yes | 1 | ISO9660 | 2-Clause-BSD |
MOROS | x86_64 | yes | yes | Monolithic | General purpose | limited | no | 1 | MFS | MIT |
Felix OS | x86_64 | yes | yes | ? | General purpose | ? | no | 3 | [FAT16] Read Only | MIT |
Aero | x86_64 | ? | yes | Monolithic | General purpose | ? | yes | 10 | ? | GPL |
Embassy | many | yes | yes | embedded framework | embedded | n/a | no | 388 | ? | APL2 / MIT / CC 4.0 |
Hubris | many | yes | yes | message passing kernel | embedded | n/a | no | 50 | ? | MPL 2.0 |
Also worth noting: Robigalia, a sel4 userspace, written in Rust.
-Writing the second video game for the Micro:bit in Rust
-
Talking Tock Week
-
Theseus OS Documents
-
This week in intermezzOS:
-
Reenix: Implementing a Unix-Like Operating System in Rust (PDF)
-
Ownership is Theft: Experiences Building an Embedded OS in Rust (PDF)
-
(x86_64) Why are platform features such as the red zone enabled by default?
- Safer microcontrollers almost here
- Exploring ARM inline assembly in Rust
- Bare Metal Rust
- Rust bare metal on ARM microcontroller
- Blinking an LED with Rust on a Beaglebone Black
- Zinc goals redefined and extended
- Rust on an Arduino Uno
- Rust on Arduino Due
- http://embedded.hannobraun.de/
- Raspberry Pi Bare Metal Programming with Rust
- Running Rust code on a BBC micro:bit micro-controller
Footnotes
-
Theseus is a safe-language OS that runs all components within a Single Address Space (SAS) and Single Privilege Level (SPL). ↩