References
Getting Started
- OSDev Wiki - Comprehensive kernel development resource
- Bare Bones - Minimal kernel implementation guide
- Brandon Friesen's Guide - Practical kernel development tutorial
- Linux Journal Introduction - Kernel development fundamentals
- Known Bugs - Common pitfalls to avoid
Operating System Theory
- Operating Systems: Three Easy Pieces - Comprehensive OS concepts textbook
- OS Theory - Theoretical foundations
- xv6: A Simple Unix-like Teaching OS - MIT teaching operating system
- Kernel Newbies - Linux kernel development community
CPU Architecture & Hardware
- IntelĀ® 64 and IA-32 Architectures Manual - Official CPU reference
- x86 and amd64 Instruction Reference - Comprehensive instruction documentation
- Interrupt Handling - Interrupt implementation guide
- i386 Interrupts (MIT) - Interrupt architecture reference
- PS/2 Keyboard Hardware - Hardware implementation details
Filesystems
- Ext2 Documentation - Complete ext2 specification
- OSDev Ext2 - Implementation guide
- Linux Drive Naming Conventions - Device naming standards
- ArchWiki Device Files - Block device reference
Concurrency & Synchronization
- Rust Atomics and Locks - Comprehensive guide to mutexes, condition variables, atomics, and memory ordering
Development Tools & References
- nixpkgs Cross-Compilation - Cross-compiler setup
- Linux System Calls (x86/32) - Syscall reference table
Alternative Approaches
- Writing an OS in Rust - Modern kernel development in Rust