A note of caution: Be careful of spending too much time doing the easy work of looking for “resources”, rather than the hard work of consistent practice. Have fun π
Top Recommendations
- https://pwn.college β Arizona State University – Security, systems course
- https://cs61.seas.harvard.edu/site/2024 – Harvard CS61
Textbooks
- https://diveintosystems.org/ β Dive into Systems (Similar to OSTEP, but more modern?)
- https://pages.cs.wisc.edu/~remzi/OSTEP/ β Operating Systems: Three Easy Pieces
- https://pdos.csail.mit.edu/6.828/2018/xv6/book-rev11.pdf β xv6 OS Book (2018), x86
- https://os-book.com/ β Operating Systems Concepts
- https://www.pearson.de/modern-operating-systems-global-edition-9781292727899 β Modern Operating Systems
Websites
- https://littleosbook.github.io/ β The little book about OS development
- https://os.phil-opp.com/ β Writing an OS in Rust
- https://wiki.osdev.org β Classic OSdev wiki, best for specific tutorials
- http://www.osdever.net/tutorials/
- https://github.com/dreamportdev/Osdev-Notes
University Course Materials
- https://pdos.csail.mit.edu/6.828/2018/ β MIT 6.828 OS course (xv6/JOS, x86). More recent courses use RISC V.
- https://web.stanford.edu/class/cs140/projects/pintos/pintos.html β Stanford (pintOS)
- https://pwn.college β Arizona State University – Security, systems course
- https://cs61.seas.harvard.edu/site/2024 – Harvard CS 61
- https://read.seas.harvard.edu/cs161/2024/ – Harvard CS 161 (Chickadee OS, x86-64, C++)
- https://www.scs.stanford.edu/10wi-cs140/ – Standford CS 140 (PintOS, x86)
- http://www.os161.org/ – OS 161 (MIPS 32-bit)
Youtube
- https://www.youtube.com/@nanobyte-dev β Nanobyte
- https://www.youtube.com/@awesomekling β Andreas Kling (SerenityOS)
- https://www.youtube.com/@gamozolabs β gamozo
- https://www.youtube.com/@offlinemark β offlinemark
Linux/FreeBSD
- https://docs.freebsd.org/en/books/design-44bsd/ – The Design and Implementation of the 4.4BSD Operating System
- Understanding the Linux Kernel
Linux/POSIX Userspace
- The Linux Programming Interface: A Linux and UNIX System Programming Handbook
Blogs:
- https://manybutfinite.com/ β Gustavo Duarte
Concurrency & Parallelism
- https://deadlockempire.github.io/ – Concurrency games/challenges
- The Little Book of Semaphores