Learn Linux system programming in C with a standardized open-source textbook
Readers with a foundation in assembly can use this book to explore the operating principles of the Linux kernel through C. Developed for the University of Illinois CS 341 course, the text standardizes and refines the content of a previous wikibook. All code and explanations are written in C.
Refining the wikibook while preserving openness
The project began as a refinement of Angrave's initial wikibook experiment. Its goal is to improve the quality and rigor of the content while maintaining the original openness. It ensures factual accuracy by including citations, footnotes, additional reading, and a glossary. The build process is automated to allow the author to focus on writing.
Multiple formats and automated builds
The textbook can be exported in PDF, Markdown, and HTML formats. The latest single PDF file is available at main.pdf in the repository. LaTeX is used as the primary language to maintain a consistent document style.
Contributing and build structure
Details on how to contribute and the build structure are specified in the CONTRIBUTING.md file. Referring to this document explains how to participate in the project or build it locally.
Prerequisites for reading
Before reading this textbook, you should have completed a programming language course and be familiar with assembly instructions. Understanding C is essential because it is the de facto standard language for the Linux kernel. License details are not specified in the README, so you must check the relevant documentation before actual use.