linux-kernel
- 01-process-management
- task_struct and Process Lifecycle
- Scheduler
- Context Switch
- Signals and ptrace
- 02-memory-management
- Virtual Memory
- VMA and Maple Tree
- Physical Memory Management
- Slab and kmalloc
- Page Reclaim and Swap
- 03-file-system
- VFS — Virtual File System Layer
- Page Cache and I/O
- Filesystem Implementation
- VFS Advanced
- ZFS — Not Part of the Kernel, But Unavoidable
- NFS (Network File System)
- Temporary and Pseudo Filesystems
- 04-interrupts-and-clocks
- Interrupt Subsystem
- Clocks and Timers
- Time Management
- 05-synchronization-mechanisms
- Locking Mechanisms
- RCU (Read-Copy-Update)
- Synchronization Debugging
- 06-network-subsystem
- Network Protocol Stack Overview
- TCP/IP Protocol Stack
- Netfilter and BPF/XDP
- Other Network Topics
- RDMA (Remote Direct Memory Access)
- 07-block-device-layer
- Block Device Layer
- NVMe and Storage
- 08-ebpf-and-observability
- eBPF Basics
- eBPF Program Types
- Tracing and Debugging
- 09-security-mechanisms
- LSM and Access Control
- Kernel Hardening
- Crypto API and Storage Encryption
- 10-drivers-and-device-model
- Device Model
- PCIe and USB Driver Model
- DRM and Graphics
- IOMMU and DMA API
- 11-kernel-development-and-build
- Kbuild and Modules
- Debugging and Testing
- Live Patching
- 12-containers-and-primitives
- Namespaces
- cgroup
- 13-kvm-and-virtualization
- KVM Architecture
- KVM Memory and Device Virtualization
- QEMU and KVM Collaboration
- 14-power-management
- cpufreq and cpuidle
- Suspend and Resume