Linux Kernel Internals
A community hub for understanding the Linux kernel — documentation and discussions about design decisions, internals, and the journey of contributing.
What This Is
Documentation: Deep dives into kernel subsystems, explaining why things work the way they do, not just the APIs.
Discussion: A place to ask questions, share discoveries, and help each other understand the kernel.
Why?
The kernel has extensive API documentation, but understanding the rationale requires digging through mailing list archives, scattered articles, and tribal knowledge. We're building a more accessible resource.
Documentation
General
| Document | Description |
|---|---|
| Linux Evolution | From hobby project to world infrastructure |
Subsystems
| Subsystem | Status |
|---|---|
| Memory Management (mm/) | Available |
| scheduler/ | Planned |
| networking/ | Planned |
| bpf/ | Planned |
| drivers/ | Planned |
Community
- Contributing Guide to get started as a contributor
- GitHub Discussions for questions and conversations
- GitHub Issues to suggest topics or report problems
Disclaimer
This is a community learning resource, not a definitive reference. The Linux kernel is complex and constantly evolving. While we strive for accuracy and link to primary sources (commits, LKML), errors may exist. When in doubt, consult the official kernel documentation and source code. Contributions and corrections are welcome.
License
- Documentation: CC BY-SA 4.0
- Code snippets: GPL-2.0
- Tux logo: Larry Ewing (original), Simon Budig (SVG)