For 通过构建操作系统学习内核原理, the strongest matches are tuhdo/os01 (This is a comprehensive educational book that guides you), yourtion/30daymakeos (yourtion/30dayMakeOS is an educational x86 operating system project that) and cirosantilli/x86-bare-metal-examples (This repository is a collection of minimal x86 operating). cfenollosa/os-tutorial and phil-opp/blog_os round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
探索从零开始开发自定义操作系统内核的开源项目与教育资源。
This project is an educational resource and technical reference for building operating systems from scratch. It provides a comprehensive guide to mastering x86 architecture and implementing core kernel components by writing code that executes directly on hardware without the support of standard libraries or operating system abstractions. The materials focus on low-level systems engineering, teaching users how to interpret technical datasheets to manage hardware resources. It covers the fundamental mechanics of bare-metal programming, including the use of assembly language to define execution
This is a comprehensive educational book that guides you through building an OS from scratch, covering x86 architecture, bootloading, protected mode, paging, interrupt handling, and more—exactly the kind of in-depth tutorial you are looking for.
30dayMakeOS is an educational hobby operating system project designed for the x86 architecture. It implements a monolithic kernel and a custom bootloader that transitions the CPU from real mode to 32-bit protected mode to enable flat memory addressing. The project focuses on low-level system development, featuring a custom graphics driver for direct pixel-buffer rendering and window management without an existing operating system. It includes an x86 bootloader that loads the kernel from disk into memory. The system covers core kernel capabilities including round-robin task scheduling for pro
yourtion/30dayMakeOS is an educational x86 operating system project that implements a monolithic kernel, custom bootloader, real-to-protected-mode transition, task scheduling, and a command-line interface — it serves as a complete reference implementation that covers all the core OS-building concepts the tutorial search is targeting.
This project is a collection of minimal operating systems, bootloaders, and hardware drivers used to demonstrate low-level x86 system programming and hardware interfacing. It serves as a kernel development toolkit and a system programming lab designed for testing architecture concepts and hardware behavior within a system emulator. The repository provides reference implementations for creating bootable disk images and loading kernel stages. It includes guides for implementing protected mode transitions, memory paging, interrupt descriptor tables, and symmetric multiprocessing on x86 hardware.
This repository is a collection of minimal x86 operating systems and hardware drivers that demonstrates low-level system programming concepts such as bootloading, protected mode, paging, and interrupt handling, making it a solid reference for understanding kernel internals, though it is more of a toolkit of examples than a structured step-by-step tutorial and lacks a simple shell.
This project is an educational curriculum designed to teach the fundamentals of operating system development and low-level systems programming. It provides a structured sequence of lessons and code samples that guide users through building a functional kernel and bootloader from scratch, enabling a practical understanding of how software interacts directly with computer hardware. The repository distinguishes itself by focusing on the core mechanics of bare-metal execution. It covers the implementation of essential system components, including assembly-based bootloaders that transition process
This repository is a structured, step-by-step curriculum that teaches OS kernel development from scratch in assembly and C for x86, covering bootloader handling, real-to-protected mode transition, and core low-level mechanics—exactly the comprehensive educational guide you're after.
This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves as a low-level system implementation focusing on the creation of a bare metal operating system. The system implements a bootable disk image toolchain that transforms source code into binaries compatible with a bootloader. It features a custom memory allocator for dynamic memory management and an x86 kernel implementation that includes paging, interrupt handling, and VGA text mode. The project covers several core capability areas, including low-level memory management through
This repository provides the code for the "Writing an OS in Rust" blog series, serving as a complete reference implementation for building an x86-64 kernel with paging, interrupt handling, and VGA output, but it uses Rust rather than the typical assembly and C and the tutorial itself is not in the repo.
How to Make a Computer Operating System
This repository is exactly what you are looking for: it provides a complete, step-by-step tutorial that walks through building an x86 operating system kernel from scratch, covering bootloader setup, protected mode, memory paging, interrupt handling, keyboard input, and a simple shell, all in assembly and C.
This project is an educational operating system kernel designed to demonstrate the fundamental architectural principles of memory paging and process management. It is implemented as a minimal kernel that serves as a practical reference for building a functioning system from the ground up. The implementation features a preemptive multitasking kernel that switches execution contexts between threads to share a single CPU. It includes an x86 virtual memory manager that uses paging to map virtual addresses to physical memory and isolate processes. The system covers low-level hardware interfacing
This repository provides a minimal, educational x86 kernel implementation that demonstrates memory paging, multitasking, and low‑level hardware interfacing—making it a practical reference for building a kernel from scratch, though it may not include a detailed step‑by‑step tutorial covering every requested feature like bootloader handling or interactive keyboard input.
This project is an educational resource for developing bare-metal operating systems and kernels from scratch on Raspberry Pi hardware. It provides a structured guide to systems programming using the Rust language, focusing on the implementation of core kernel components that execute directly on ARM-based hardware without the support of an underlying operating system or standard library. The tutorials emphasize a modular architecture that separates hardware-independent kernel logic from processor-specific and board-specific configurations. By utilizing a hardware abstraction layer and distinct
This repository provides a structured bare-metal OS kernel tutorial, but it targets ARM (Raspberry Pi) and uses Rust, not x86 with assembly and C as the visitor is looking for.