Rust OS comparison
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.
- redox (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)
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 | 50 | ZFS/RedoxFS | 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 |
Also worth noting: Robigalia, a sel4 userspace, written in Rust.
Blog posts and papers
-Writing the second video game for the Micro:bit in Rust
-
Talking Tock Week
-
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?
Embedded Systems
- 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