A comparison of operating systems written in Rust
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.
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 OS[^1] | 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 |
Also worth noting: Robigalia, a sel4 userspace, written in Rust.
[^1]: Theseus is a safe-language OS that runs all components within a Single Address Space (SAS) and Single Privilege Level (SPL).
-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?