Writing an OS in Rust

udev4096 | 416 points

I completed the second edition years ago and found it illuminating. It's very well done! The explanations pertaining to OS dev are nice but it was also a useful artifact for learning more Rust after having gone through the Rust book. The author had a good grasp of the idiom of the language, so seeing how he expressed certain things in code vis a vis how I would have done was educational. The blog's explanation of how futures are implemented in Rust was especially a highlight[0], and I think it's the best I've seen on that topic anywhere.

I hope Phil will find the inspiration to come back and work on the EFI-based third edition again. AFAICT, (based on commits to the git branches) that has stalled. I was a GitHub sponsor for about a year until my CC expired and was always bummed to see it left out of the "This Month In Rust OSDev" posts.

Anyway, the second edition is still a great way to spend a weekend's dev time and I appreciate all the hard work that clearly went into it. Thanks Phil!

[0]: https://os.phil-opp.com/async-await/#async-await-in-rust

chucksmash | 4 days ago

I started working on MOROS[1][2] after completing the tutorial 5 years ago, and I cannot recommend it enough for anyone interested in Rust and osdev. Phil put a lot of work into it, and it shows! The project covers a lot, and after that there's the osdev wiki[3] to keep going.

[1]: http://moros.cc

[2]: https://github.com/vinc/moros

[3]: https://wiki.osdev.org

vinc | 4 days ago

Funny, I found this today after doing a deep dive on Rust and OS development. I was in awe at the quality of this content. You come out of it not only learning so much about the history and design of operating systems, but you start to pick up elements of Rust as well. Phil did an incredible job on this.

jayd3e | 4 days ago

I just came back from Rustconf and it seems there’s about five or so major OS releases, particularly focused around real time. Not all are open source though.

nailer | 4 days ago

I especially recommend the original edition of these posts. For me the current edition does way too much hand holding, taking care of the entire bootloading process with a specialized crate.

Levitating | 4 days ago

This source got me started with Rust back in 2021, and I'm very grateful that this exists.

ramon156 | 4 days ago

He's giving a talk at next month's GOSIM conference. https://china2024.gosim.org/speakers#philipp-oppermann It would be nice to be able to talk to him in person.

guofoo | 4 days ago

Phil's writing on OS development is always a wonderful read.

jamesmunns | 4 days ago

https://harvey-os.org/ (Retired) The team now works on this: https://github.com/r9os/r9

Beijinger | 4 days ago

(not a professional coder) "writing an X on Y" brings in my mind the meme of Ryan Reynolds "But why?" [0]. If it is for training purposes, then by all means, go nuts!! The more one codes, the better.

[0]: https://screenrant.com/ryan-reynolds-but-why-gif-harold-kuma...

Sidenote on "MOROS" - cool project/page!

HenryBemis | 3 days ago

Another good resource is Making a RISC-V OS using Rust

https://osblog.stephenmarz.com/

azhenley | 4 days ago

Is this project about writing a kernel or an entire OS including graphical shell, etc.?

amelius | 4 days ago

Jokingly thought it was another one of those “I rewrote it in Rust” moments. Cool post

assanineass | 4 days ago

Nice job !

3rdworldeng | 4 days ago
[deleted]
| 4 days ago
[deleted]
| 4 days ago
[deleted]
| 4 days ago
[deleted]
| 4 days ago
[deleted]
| 4 days ago
[deleted]
| 4 days ago
[deleted]
| 4 days ago

[dead]

KingOfLechia | 4 days ago

You lost me at branch per post

segasuperstar | 4 days ago

We shouldn't write an OS in rust. We should create a data platform on which we can run DML/DDL with an SSMS++ automatic frontend.

gxt | 4 days ago

Makes sense but what if there are bugs in llvm? U r still exposed. So need a rust version of llvm and then rust can be self hosted

xiaodai | 4 days ago

The pool of operating system penetration testers will be absolutely devastated if a rust OS becomes mainstream.

Most, if not all, vulnerabilities are related to lack of memory safety.

Well, guess there’s always the application/user space.

xyst | 4 days ago