Writing an OS in Rust
The GitHub repository for the _Writing an OS in Rust_ series offers structured source code for each blog post, covering key OS development topics in Rust, with links to the latest content.
Read original articleThe GitHub repository for the _Writing an OS in Rust_ series provides the source code corresponding to each blog post in a structured format. Each post is represented by a separate branch named `post-XX`, facilitating easy navigation through the tutorial content. The series covers essential topics in operating system development using Rust, including creating a freestanding Rust binary, building a minimal kernel, implementing VGA text mode, and managing memory through paging and heap allocation, as well as multitasking with async/await. Additionally, the repository contains a section for first edition posts, which, while outdated, may still offer valuable insights. The project is licensed under the Apache License, Version 2.0, or the MIT license, with specific terms for the `blog/content` folder. Users can access the latest post's source code and the complete blog series through provided links.
- The repository is organized with branches for each blog post.
- It covers various operating system development topics in Rust.
- There are sections for both current and outdated tutorial posts.
- The project is available under Apache 2.0 or MIT licenses.
- Users can find links to the latest source code and the full blog series.
Related
Rust for Filesystems
At the 2024 Linux Summit, Wedson Almeida Filho and Kent Overstreet explored Rust for Linux filesystems. Rust's safety features offer benefits for kernel development, despite concerns about compatibility and adoption challenges.
Making a blog for the next 10 years
The author plans to maintain their blog for a decade, using Markdown for readability, Mataroa for hosting, and Go for publishing tools, while addressing third-party module reliability concerns.
From Julia to Rust
The article outlines the author's transition from Julia to Rust, highlighting Rust's memory safety features, design philosophies, and providing resources for learning, while comparing code examples to illustrate syntax differences.
Rust's Ugly Syntax (2023)
The blog post addresses complaints about Rust's syntax, attributing them to misunderstandings of its semantics. It suggests simplifying semantics for readability while maintaining performance and safety features.
Rust in Illumos
The article discusses the integration of Rust into the illumos operating system, highlighting development challenges, the need for community collaboration, and inviting contributions for userland tools and driver development.
- Many users found the series enlightening and beneficial for understanding both Rust and operating systems.
- Several commenters expressed hope for future editions or projects from the author, Phil.
- Users shared their own projects inspired by the series, highlighting its influence on the OS development community.
- There is a consensus on the quality of the content, with specific praise for the clarity of explanations.
- Some comments discuss the broader implications of Rust in OS development, particularly regarding memory safety.
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
[1]: http://moros.cc
[0]: https://screenrant.com/ryan-reynolds-but-why-gif-harold-kuma...
Sidenote on "MOROS" - cool project/page!
Most, if not all, vulnerabilities are related to lack of memory safety.
Well, guess there’s always the application/user space.
Related
Rust for Filesystems
At the 2024 Linux Summit, Wedson Almeida Filho and Kent Overstreet explored Rust for Linux filesystems. Rust's safety features offer benefits for kernel development, despite concerns about compatibility and adoption challenges.
Making a blog for the next 10 years
The author plans to maintain their blog for a decade, using Markdown for readability, Mataroa for hosting, and Go for publishing tools, while addressing third-party module reliability concerns.
From Julia to Rust
The article outlines the author's transition from Julia to Rust, highlighting Rust's memory safety features, design philosophies, and providing resources for learning, while comparing code examples to illustrate syntax differences.
Rust's Ugly Syntax (2023)
The blog post addresses complaints about Rust's syntax, attributing them to misunderstandings of its semantics. It suggests simplifying semantics for readability while maintaining performance and safety features.
Rust in Illumos
The article discusses the integration of Rust into the illumos operating system, highlighting development challenges, the need for community collaboration, and inviting contributions for userland tools and driver development.