Linux Kernel Development, 3rd Edition
by Robert Love · Addison-Wesley Professional
Explains how the kernel itself implements processes: the task_struct descriptor and process list, fork() via copy-on-write and clone(), kernel threads, and the Completely Fair Scheduler's runqueue, virtual runtime accounting, preemption points, and context switching.
This link may earn us a small commission at no extra cost to you. Affiliate disclosure
More resources on Process Management
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.
Stanford CS110: Principles of Computer Systems
Stanford systems course whose multiprocessing unit covers fork, waitpid, execvp, signal handling, and pipes as an IPC mechanism, reinforced by assignments that build a shell and a network proxy. Lecture PDFs, code examples, and lab handouts are publicly downloadable.
The Linux Scheduler: a Decade of Wasted Cores
EuroSys 2016 study showing the Linux CFS load balancer left cores idle for seconds while runnable threads waited. Documents four distinct bugs, measures the resulting slowdowns on real workloads, and describes the tracing tools and visualizers built to expose them.
Linux Kernel Scheduler Documentation
Kernel maintainers' own documentation of Linux scheduling internals: the CFS design and its EEVDF successor, deadline and real-time classes, nice-level design, group scheduling and bandwidth control, scheduler domains, capacity- and energy-aware placement, and the tunables exposed under debugfs.
The Linux Programming Interface
Kerrisk's 1552-page reference on the Linux and POSIX system call interface, with sustained chapters on process creation, program execution, process termination, monitoring child processes, signals, and interprocess communication via pipes, FIFOs, message queues, semaphores, and shared memory.
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.