Linux Kernel Development
by Robert Love · Robert Love
Guide to the Linux kernel's internals written by a kernel contributor, covering process scheduling, system calls, interrupt handling, synchronization primitives, memory management, and the virtual filesystem. Prepares a C programmer to read and patch kernel source.
This link may earn us a small commission at no extra cost to you. Affiliate disclosure
More resources on Operating Systems
Operating System Engineering (MIT 6.S081)
Archived Fall 2020 offering of the xv6 operating systems course: recorded lectures, the xv6 RISC-V book, and labs on system calls, page tables, traps, lazy allocation, threads, locking and file systems. Learners implement real kernel features and understand process management end to end.
xv6 OS Source
MIT's small Unix-like teaching kernel for RISC-V, published with source code and a companion commentary book. Reading and modifying it shows concretely how page tables, kernel and user address spaces, physical page allocation, and traps are implemented.
Operating System Engineering (MIT 6.1810)
Undergraduate operating systems course built around xv6, a small Unix-like kernel for RISC-V. The free xv6 book and labs on system calls, page tables, traps, copy-on-write, locking, file systems and mmap teach how kernels manage memory, processes and devices.
CS162: Operating Systems and Systems Programming
UC Berkeley's upper-division operating systems course, with lectures, projects and exams covering processes and threads, synchronization, CPU scheduling, virtual memory, file systems, I/O and networking. Students build kernel features in the Pintos teaching OS and understand how operating systems work internally.
Operating Systems: Three Easy Pieces
Learn concurrency in operating systems with this course from Remzi & Andrea Arpaci-Dusseau, based on "Operating Systems: Three Easy Pieces."
osdev.org
OSDev.org is a community-driven resource and wiki for operating system development. It offers tutorials, articles, and sample code on topics like kernels, bootloaders, memory management, drivers, and other low-level OS concepts, plus forums for discussion.