Skip to content
Lawrence Angrave edited this page Feb 26, 2024 · 161 revisions


Welcome to Angrave's crowd-sourced System Programming wiki-book! This wiki was actively built and maintained 2014-2018 by students and faculty from the University of Illinois. It was a crowd-source authoring experiment by Lawrence Angrave from CS @ Illinois and represents Angrave's CS241 (now CS341) "Intro to System Programming" course content from that time. This wiki will always be available to everyone to learn more about system programming. Please let me know (angrave @ illinois) if you find it helpful!

University of Illinois students should use the CS341-specific coursebook -


0. Introduction

1. Learning C

2. Processes

3. Memory and Allocators

4. Intro to Pthreads

5. Synchronization

6. Deadlock

7. Inter-process Communication & Scheduling

8. Networking

9. File Systems

10. Signals

Exam Practice and Review Questions

Warning these are good practice but not comprehensive.

Clone this wiki locally