Rust
Live article: New operating systems might be added as they emerge.
The emergence of Rust has introduced a new option for operating system developers, where previously C and C++ ruled without competition. More and more Linux kernel modules are being written in Rust, and even parts of the Linux kernel itself are adopting it. A new standard library, intended to replace much of the old GNU tooling, is also being developed in Rust. Its clear that the language will continue to grow in importance for systems programming in the years ahead.
But it’s not just the major projects like Linux that have taken notice. A growing number of hobby operating systems are being written in Rust as well, each exploring its own niche or philosophy in OS design. Below are some …
Rust
Live article: New operating systems might be added as they emerge.
The emergence of Rust has introduced a new option for operating system developers, where previously C and C++ ruled without competition. More and more Linux kernel modules are being written in Rust, and even parts of the Linux kernel itself are adopting it. A new standard library, intended to replace much of the old GNU tooling, is also being developed in Rust. Its clear that the language will continue to grow in importance for systems programming in the years ahead.
But it’s not just the major projects like Linux that have taken notice. A growing number of hobby operating systems are being written in Rust as well, each exploring its own niche or philosophy in OS design. Below are some of the most interesting examples of what’s happening in this new wave of Rust-based operating systems.
Redox OS
Redox OS is a microkernel-based, complete and general-purpose operating system written in Rust created in 2015
RedoxOS
The largest and arguably most mature of the Rust OS projects, Redox OS aims to be a “general-purpose”, Unix-like operating system built entirely in Rust. It uses a microkernel architecture, where most components, from filesystems to drivers, run in user space. Improving both stability and isolation.
Redox also provides its own filesystem (RedoxFS), package manager, and GUI stack, showing that a modern, secure, and modular operating system can be written without falling back to C. For anyone interested with kernel design, it’s interesting to see concepts like syscalls, IPC, and memory management implemented under the strict safety model of Rust.
MOROS
Text-based hobby operating system written in Rust by Vincent Ollivier.
Moros
MOROS** **(the Minimal Operating Rust Operating System) takes the opposite approach. It’s a small, text-based OS inspired by Unix, Plan 9, and DOS. Designed to be simple, self-contained, and easy to understand.
Definitely an interesting project for developers who want to study the fundamentals of kernel and userspace design without the baggage of a large codebase. Everything from the boot process to the command shell is written in Rust, making it a great project for anyone who enjoys digging into low-level details and seeing how far minimalism can go.
SafaOS
Created by safiworks
SafaOS
SafaOS** **is an experimental, non-Unix-like OS written from scratch in Rust. Most interestingly it doesn’t try to recreate existing operating systems. But instead, it explores how system calls, APIs, and internal abstractions can be designed around Rust’s language features.
CharlotteOS
Created by xadaemon
Here we have another experimental operating system, this time: built to explore capability-based design in Rust. Rather than inheriting the default Unix permissions or process models, Charlotte uses typed capabilities for secure access to system resources!
Maestro
Maestro
Created by llenotre
This operating system aims to be both lightweight and Unix-compatible kerne, of course: written in Rust with the goal of “modernizing” kernel architecture. It focuses on clean design, message passing, and modularity. For anyone who’s worked with monolithic kernels or legacy C codebases, Maestro is an example of how the same concepts can be reimagined with Rust.
Want to Build Your Own?
If you’re inspired to start experimenting with OS development in Rust, there are excellent resources available:
- Writing an OS in Rust — Philipp Oppermann’s in-depth tutorial series, covering everything from bootloaders to multitasking.
- Rust OSDev Book — the community-maintained continuation of the guide.
- Rust OSDev Discord — a helpful and active community of low-level Rust developers.
Know of more interesting Rust operating systems? Write a comment about them.