From OSDev Wiki
This page maintains a list of resources related to operating system development.
Operating System Development
Warning: External tutorials tend to be old, have bugs, don't follow current community recommendations, and often aren't community edited.
- Bonafide OS Development
- The Operating System Resource Center
- How to Write an Operating System
- Start your small Operating System in Assembly
- NeuralDK OSDev Tuts
- BrokenThorn OS Development Tutorials
- OS FAQ, overall design, VM design, threads..
- Memory Management
- Protected Mode
Human Input Devices
- official ATA working group
- another ATA/ATAPI website, includes reference driver
- an introduction to ATA/ATAPI commands. It contains a couple of ASM examples to read sectors and identify drives.
- Disk and Disc Drives
- collected links about Ultra DMA, on ATA drives and how PCI configuration comes.
Network and Communication ports
- Interconnect Buses
- official USB developers docs
- more USB info
- USB OHCI
- USB EHCI
- OHCI for FireWire
- OHCI mirror
- Banana - Use these if you want
- Ralf Brown's Interrupt List
- The Boot Process
- File Systems
- Executable File Formats
- Plug'n'Play Specs
- Device Driver Interfaces
- The Art of Software Security Assessment
- Art of Exploitation
- Secrets of Reverse Engineering
- Subverting the Windows Kernel
- OSD Code Snippet Index
- stockpile of documents at singlix.org
- a reference implementation for malloc()