Resources
This page maintains a list of resources related to operating system development. Often, links become outdated or sites go down. If a link does not work, try to see if it was backed up on archive.org.
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
- [1] Circuit Cellar Ink, an embedded systems development magazine
Hardware Specifications
- Pierre's Library
- List of PS/2 documents
- ChipDB datasheet archive
- FreeMicroNix Documentation Collection
Processors
BIOS
Motherboard Devices
Human Input Devices
Video
Storage
- 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.
Audio
Network and Communication ports
Buses
Software Specifications
Other Specifications
Source Code
University Courses
- Advanced Operating Systems (NYU)
- Operating System Engineering (MIT) (2004) (2006)
- Introduction to Operating Systems (WISC)