Writing an Embedded Operating System in Rust
summary
Claims a complete embedded OS written in Rust called Tock OS runs on ARM Cortex-M and RISC‑V hardware, uses Rust safety for untrusted code and RISC‑V PMP / ARM MPU to enforce process isolation, keeps drivers and core kernel in controlled unsafe wrappers while forbidding unsafe in capsules, includes inline assembly startup and DMA-capable drivers, reports Rust performance near C (nvme rewrite shows parity, worst ~2.5% slower), and notes real issues: lifetimes, hidden panics causing kernel crashes, and linker/LTO bloat.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 0:42Why Rust?
- 2:57Memory safety
- 4:34Rust vs C
- 5:26Language differences
- 7:09C and Rust examples
- 9:32Embedded Rust libraries
- 11:04The Tock project
- 12:44Tock architecture
- 14:03Process isolation
- 15:00Generics and hardware
- 16:57Inline assembly
- 19:05Pain points: Lifetimes
- 20:13Pain points: Panics
- 22:42Pain points: Overhead
- 24:11Q&A
related talks
10mSponsored Talk
29mA Rust-based Runtime for the Internet of Things
01h 01mNeotron - why write a brand new ‘DOS’ for Arm in Rust?
04mUsing the Rust Standard Library on High-End MCUs
36mIt's Embedded Rust Time
01h 09mThe Rust Programming Language: Origin, History and Why it's so important for Arm today
29m"10 Years of Redox OS and Rust"
39mFrom C to Rust: Bringing Rust Abstractions to Embedded Linux
