How this started
I started with "let me quickly learn concurrency" and somehow ended up reading about caches, TLBs, virtual memory, scheduling.
OS resources I use
- OSTEP (Operating Systems: Three Easy Pieces) - my primary OS resource right now
- Operating System Concepts (Silberschatz, Galvin, Gagne)
- Operating Systems: Principles and Practice (all volumes)
- OS Vol1 - Kernels and Processes
- OS Vol2 - Concurrency
- OS Vol3 - Memory Management
- OS Vol4 - Persistence
- Operating Systems - Prof Sr. Sarangi
- Core Dumped - my favorite OS YouTube channel; the visualizations are awesome
Architecture and systems references
- Computer Architecture (Hennessy and Patterson)
- Computer Organization and Design (P & H)
- Computer Systems: A Programmer's Perspective (3rd edition)
- Inside the Machine - Jon Stokes
- A Primer on Memory Consistency and Cache Coherence
- Arch by IITD notes
- Memory hierarchy notes (Memory.pdf style resources)
- IIT Delhi architecture notes and memory hierarchy notes