Managarm: A Fully Asynchronous OS Based on Modern C++
summary
Managarm is a working microkernel OS written in modern C++ that makes every I/O asynchronous and uses a single blocking syscall to wait for completions; it implements async syscalls (example: helix::await_event) via a lock-free ring buffer notification scheme similar to io_uring so many completions avoid context switches. Drivers run in user mode, use C++20 coroutines for high-level logic and sender/receiver model primitives for zero-overhead building blocks; the repo and install notes are on GitHub.
AI-written summary · about
chapters (21)
- 0:00Intro
- 2:24Why does asynchronousity matter
- 4:40Modern hardware is highly asynchronous
- 7:32What can we do in C
- 9:58Managarm
- 11:29Highlevel overview
- 14:15Other features
- 16:29Lowlevel driver code
- 19:19C code
- 22:59Async queue
- 25:57Async syscalls
- 29:05Notification
- 31:29Ring Buffer
- 35:09C Layer
- 36:40Core Routines
- 43:49Async Algorithms
- 49:07Operation Object
- 52:16Sender
- 54:35Challenges
- 56:05Error Handling
- 57:13Modern Hardware
related talks
01h 02mAsynchronous Programming in Modern C++
20mIt's Critical: Concurrent programming as a sane programming model
01h 32mKeynote: Employing Senders & Receivers to Tame Concurrency in C++ Embedded Systems
01h 31mTowards Async Everything Part 2 - Scopes, Construction, and Destruction
01h 30mC++ Coroutines and Structured Concurrency in Practice
57mAsynchronous I/O and coroutines for smooth data streaming
29mAsychronous programming in Rust
51mThe Need for Async
