What a from-scratch Rust kernel (CharlotteOS) made me rethink about async-first OS design

59 points vorjdux 11 comments

Some of you may have seen my wire-probe post here recently. It turned into a great back-and-forth with Mohit D. Patel about CharlotteOS, his from-scratch kernel in Rust, specifically about building a kernel where asynchrony is the default rather than a retrofit. I wrote up the idea.

It gets into io_uring as a completion model (and how that's Linux catching up to NT's IOCP from the 90s), why fd / HANDLE / observer-capability are the same primitive, the observer/upcall design CharlotteOS uses, and an honest look at the hard parts. Rust throughout, since the OS in question is Rust.

https://vorjdux.com/articles/hardware-is-async.html

My own blog. Happy to get into any of it in the comments.