cs341-illinois / coursebook

Open-source systems programming textbookUIUC

Not a better
wikibook.
A cited one.

An introductory systems programming textbook used by CS 341 at the University of Illinois Urbana-Champaign. It builds on Angrave’s original wikibook experiment — and its stated goal is to improve the factualness, not just the prose.

LanguageC — the de-facto language of the Linux kernel
AssumesOne programming course, familiarity with assembly

The apparatus

this is the stated upgrade
  • Citations

    Claims point somewhere. The original wikibook mostly did not.

  • †

    Footnotes

    The caveat lives on the same page as the claim it qualifies.

  • →

    Extended reading

    Where to go when the chapter stops being enough.

  • §

    Glossary

    One definition per term, in one place, for a whole book.

Illustrative — unsourced prose

A process is an instance of a running program, and the kernel keeps a record for each one. Processes are created by copying an existing process.

Illustrative — the same claim, with apparatus

A process is an instance of a running program, and the kernel keeps a record for each one.1 Processes are created by copying an existing process2 — see extended reading.

1 citation · 2 footnote: the copy is lazy in practice. Terms in italics resolve in the glossary.

PDFmain.pdf, built on deploy
Markdownthe source you can send a PR to
HTMLread it without downloading a book

Three exports from one source, built automatically — the project states the point plainly: so writers can focus on writing. The two sample paragraphs above are illustrative, written to show the difference apparatus makes; they are not quoted from the book.