|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Serenity||26,520||6 hours ago||723||bsd-2-clause||C++|
|The Serenity Operating System 🐞|
|Os Tutorial||25,710||a month ago||119||bsd-3-clause||C|
|How to create an OS from scratch|
|Harmonyos||18,477||2 years ago||52||C|
|A curated list of awesome things related to HarmonyOS. 华为鸿蒙操作系统。|
|Redox||14,520||5 months ago||183||mit||Shell|
|Mirror of https://gitlab.redox-os.org/redox-os/redox|
|Reactos||13,461||6 hours ago||178||gpl-2.0||C|
|A free Windows-compatible Operating System|
|Blog_os||13,151||a day ago||70||apache-2.0||HTML|
|Writing an OS in Rust|
|Raspberry Pi Os||12,387||3 months ago||54||mit||C|
|Learning operating system development using Linux kernel and Raspberry Pi|
|Rust Raspberrypi Os Tutorials||12,046||19 hours ago||10||apache-2.0||Rust|
|:books: Learn to write an embedded OS in Rust :crab:|
|Netboot.xyz||6,051||a day ago||68||apache-2.0||Jinja|
|Your favorite operating systems in one place. A network-based bootable operating system installer based on iPXE.|
|Openark||5,869||18 days ago||22||lgpl-2.1||C++|
|The next generation of anti-rookit(ARK) tools for Windows.|
This repository contains the source code for the Writing an OS in Rust series at os.phil-opp.com.
If you have questions, open an issue or chat with us on Gitter.
The code for each post lives in a separate git branch. This makes it possible to see the intermediate state after each post.
The code for the latest post is available here.
You can find the branch for each post by following the
(source code) link in the post list below. The branches are named
XX is the post number, for example
post-03 for the VGA Text Mode post or
post-07 for the Hardware Interrupts post. For build instructions, see the Readme of the respective branch.
You can check out a branch in a subdirectory using git worktree:
git worktree add code post-10
The above command creates a subdirectory named
code that contains the code for the 10th post ("Heap Allocation").
The goal of this project is to provide step-by-step tutorials in individual blog posts. We currently have the following set of posts:
The current version of the blog is already the second edition. The first edition is outdated and no longer maintained, but might still be useful. The posts of the first edition are:
This project, with exception of the
blog/content folder, is licensed under either of
at your option.
For licensing of the
blog/content folder, see the
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.