ランキングに戻る

phil-opp/blog_os

HTMLos.phil-opp.com

Writing an OS in Rust

kernelrustoperating-systemx86-64
スター成長
スター
17.6k
フォーク
1.2k
週間成長
Issue
88
5k10k15k
2023年1月2024年3月2025年5月2026年7月
README

Blog OS

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.

Where is the code?

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 post-XX where 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").

Posts

The goal of this project is to provide step-by-step tutorials in individual blog posts. We currently have the following set of posts:

Bare Bones:

Interrupts:

Memory Management:

Multitasking:

First Edition 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:

Click to expand

Bare Bones:

Memory Management:

Exceptions:

Additional Resources:

License

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 blog/content/README.md.

Contribution

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.

関連リポジトリ
SerenityOS/serenity

The Serenity Operating System 🐞

C++BSD 2-Clause "Simplified" Licenseoperating-systemc-plus-plus
serenityos.org
33.7k3.4k
cilium/cilium

eBPF-based Networking, Security, and Observability

GoGo ModulesApache License 2.0containersbpf
cilium.io
24.8k3.9k
Awesome-HarmonyOS/HarmonyOS

A curated list of awesome things related to HarmonyOS. 华为鸿蒙操作系统。

Chuaweiharmonyos
19.9k3.3k
google/gvisor

Application Kernel for Containers

GoGo ModulesApache License 2.0sandboxcontainers
gvisor.dev
18.8k1.8k
reactos/reactos

A free Windows-compatible Operating System

CGNU General Public License v2.0operating-systemc
reactos.org
17.9k2.2k
tiann/KernelSU

A Kernel based root solution for Android

KotlinGNU General Public License v3.0androidkernel
kernelsu.org
17.4k3.7k
rust-embedded/rust-raspberrypi-OS-tutorials

:books: Learn to write an embedded OS in Rust :crab:

Rustcrates.ioApache License 2.0rustbare-metal
14.7k873
s-matyukevich/raspberry-pi-os

Learning operating system development using Linux kernel and Raspberry Pi

CMIT Licenseraspberry-pilinux-kernel
13.9k1.3k
RT-Thread/rt-thread

RT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/

CApache License 2.0embedded-systemskernel
rt-thread.io
12.1k5.4k
apple/darwin-xnu

Legacy mirror of Darwin Kernel. Replaced by https://github.com/apple-oss-distributions/xnu

COtherkernel
opensource.apple.com
11.3k1.7k
winfsp/winfsp

Windows File System Proxy - FUSE for Windows

COtherfusefilesystem
winfsp.dev
8.8k612
SecWiki/windows-kernel-exploits

windows-kernel-exploits Windows平台提权漏洞集合

CMIT Licensewindowskernel
8.7k2.8k