Let's try to gather together some /high-quality/ resources for learning how to write complex systems software.
I'll list off the ones I'm aware of, and if you know of some others, please comment below! :-)
- Crafting interpreters by Bob Nystrom
- Building git by James Coglan
- The raytracer challenge by Jamis Buck
- Codecrafters (docker, redis, git, grep, http server, sqlite, torrent)
- Various awesome lists on Github which aggregate content scattered in blog posts all over the web
- Perhaps some YouTube videos
What about handrolling a kernel, for example?
UNIX Systems Programming: Communication, Concurrency and Threads: Communication, Concurrency and Threads 2nd Edition by K Robbins and S. Robbins
minix from scrath [0]; linux from scratch[1];
[1] : https://www.linuxfromscratch.org/
[0] : https://github.com/o-oconnell/minixfromscratch