# tuhdo/os01

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tuhdo-os01).**

13,426 stars · 780 forks · TeX

## Links

- GitHub: https://github.com/tuhdo/os01
- awesome-repositories: https://awesome-repositories.com/repository/tuhdo-os01.md

## Topics

`book` `operating-system`

## Description

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 flows, the configuration of memory layouts through linker scripting, and the direct manipulation of processor registers.

The curriculum encompasses the architectural requirements for system-level development, such as transitioning processors into protected memory modes and establishing hardware-assisted multitasking. It also details the implementation of interrupt-driven communication, enabling the kernel to respond to asynchronous peripheral signals and manage inter-processor events.

The repository includes instructional guides on debugging techniques for low-level environments and provides a structured approach to constructing functional operating system components. All documentation is provided as a set of technical references designed to facilitate the study of hardware-software interaction.

## Tags

### Operating Systems & Systems Programming

- [Operating System Development](https://awesome-repositories.com/f/operating-systems-systems-programming/os-development-distributions/operating-system-development.md) — Provides a comprehensive educational guide for building a functional operating system from scratch.
- [Process Schedulers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/operating-system-kernels/process-schedulers.md) — Implements hardware-assisted multitasking and context switching mechanisms for custom operating system kernels. ([source](https://tuhdo.github.io/os01/))
- [Bare Metal Development](https://awesome-repositories.com/f/operating-systems-systems-programming/systems-programming/bare-metal-development.md) — Provides tools and resources for developing software that executes directly on hardware without an operating system.
- [Low-Level Systems Programming](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/memory-allocation-libraries/low-level-system-operations/low-level-systems-programming.md) — Provides instruction on creating and optimizing low-level machine instructions for hardware management. ([source](https://tuhdo.github.io/os01/))
- [Hardware Abstraction Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-abstraction-layers.md) — Provides a consistent API for interacting with diverse hardware drivers.
- [Interrupt Handling](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/interrupt-handling.md) — Explains configuring the processor to respond to asynchronous hardware signals and events. ([source](https://tuhdo.github.io/os01/))
- [Memory Segmentation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/memory-safety-and-semantics/memory-segmentation.md) — Enforces memory isolation and privilege levels between kernel and user-space contexts using hardware-defined descriptor tables.
- [Processor Mode Transitions](https://awesome-repositories.com/f/operating-systems-systems-programming/processor-mode-transitions.md) — Covers transitioning the processor from real mode to protected mode to enable advanced memory management. ([source](https://tuhdo.github.io/os01/))
- [Interrupt-Driven Signal Handlers](https://awesome-repositories.com/f/operating-systems-systems-programming/interrupt-driven-signal-handlers.md) — Implements low-level firmware routines that process hardware interrupts for real-time signal capture.
- [Interrupt Controllers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-programming/hardware-interfaces/pci-bus-management/interrupt-controllers.md) — Details managing the local programmable interrupt controller for inter-processor communication. ([source](https://tuhdo.github.io/os01/))

### Education & Learning Resources

- [x86 Architecture Guides](https://awesome-repositories.com/f/education-learning-resources/instructional-materials/x86-architecture-guides.md) — Provides instructional materials focused on processor modes, interrupt handling, and memory management for x86 hardware.
- [Assembly](https://awesome-repositories.com/f/education-learning-resources/language-learning-resources/assembly.md) — Provides educational materials for writing and optimizing low-level assembly code.
- [Instruction Set Architecture References](https://awesome-repositories.com/f/education-learning-resources/instructional-reference-materials/instruction-set-architecture-references.md) — Offers technical references for understanding processor operations and machine-level code translation.
- [Technical Documentation Analysis](https://awesome-repositories.com/f/education-learning-resources/professional-development-career/career-development/professional-skills/technical-documentation-analysis.md) — Explains how to interpret and extract actionable information from technical hardware documentation. ([source](https://tuhdo.github.io/os01/))

### Software Engineering & Architecture

- [Task State Segments](https://awesome-repositories.com/f/software-engineering-architecture/state-management/hardware-register-state-managers/task-state-segments.md) — Maintains process execution context by storing register states and stack pointers in dedicated hardware structures.

### Development Tools & Productivity

- [Debugging Tools](https://awesome-repositories.com/f/development-tools-productivity/debugging-tools.md) — Provides utilities and environments for identifying and resolving code-level errors during low-level development. ([source](https://tuhdo.github.io/os01/))
