Operating Systems: Three Easy Pieces
We are going to cover Operating Systems: Three Easy Pieces book by Remzi Arpaci-Dusseau and Andrea Arpaci-Dusseau.
We will read 2-3 chapters a week and discuss over a Google Group. Your email will be visible to other group members if you post, but otherwise it will not be visible to anyone.
Sign up
If you'd like to join the group, please fill this Google form. Please keep an eye out for a Google Groups invitation on the submitted email, and make sure to check the spam folder also for the same.
For any questions, you can reach out to me on Twitter.
Please spread the word to anyone who might be interested! :)
Also, you don't need to be an expert to join along. We are all in it to learn together as a community!
Medium of discussion
All discussions will be done over text emails. We don't plan on having any Zoom or Google Meet calls. This allows people to read at their own pace asynchronously, and still be able to participate in the discussion.
How to get the book
The PDF version of the book is available for free here. You can also see other options here.
Weekly Chapter Leaders
We will have one person lead the discussion each week. They will send out an email by Saturday/Sunday of that respective week recapping the chapters and sharing their thoughts. It doesn't have to be exhaustive, could even be a couple of paragraphs - the main intent is to get the discussion going and give others a starting point to chime in.
I'd love to see people interested in volunteering to lead a chapter. But if there aren't any leaders for a week, I'll take up this responsibility and get the discussion going.
To the leaders: You don't have to worry about being an expert, or about what to say. It's a community discussion, and we're all in it to learn from each other! :)
Discussion Schedule
Note: Each week ranges between 20-40 pages, averaging at 31 pages per week.
Week | Date | Leader | Chapters |
1 | November 16th, 2024 | Akshat Jain | 1. A Dialogue on the Book 2. Introduction to Operating Systems 3. A Dialogue on Virtualization 4. The Abstraction: The Process |
2 | November 23rd, 2024 | Sohom Bhattacharjee | 5. Interlude: Process API 6. Mechanism: Limited Direct Execution |
3 | November 30th, 2024 | Manthan Gupta | 7. Scheduling: Introduction 8. Scheduling: The Multi-Level Feedback Queue |
4 | December 7th, 2024 | Vipul Vaibhaw | 9. Scheduling: Proportional Share 10. Multiprocessor Scheduling (Advanced) 11. Summary Dialogue on CPU Virtualization 12. A Dialogue on Memory Virtualization |
5 | December 14th, 2024 | Naman Modi | 13. The Abstraction: Address Spaces 14. Interlude: Memory API 15. Mechanism: Address Translation |
6 | December 21st, 2024 | Abhik Sarkar | 16. Segmentation 17. Free-Space Management |
7 | December 28th, 2024 | Divya Rani | 18. Paging: Introduction 19. Paging: Faster Translations (TLBs) 20. Paging: Smaller Tables |
8 | January 4th, 2025 | Swati Modi | 21. Beyond Physical Memory: Mechanisms 22. Beyond Physical Memory: Policies |
9 | January 11th, 2025 | Aashutosh Rathi | 23. Complete Virtual Memory Systems 24. Summary Dialogue on Memory Virtualization |
10 | January 18th, 2025 | Kalpak Seal | 25. A Dialogue on Concurrency 26. Concurrency: An Introduction 27. Interlude: Thread API |
11 | January 25th, 2025 | Pratik Agarwal | 28. Locks 29. Lock-based Concurrent Data Structures |
12 | February 1st, 2025 | Rishit Chaudhary | 30. Condition Variables 31. Semaphores |
13 | February 8th, 2025 | Abhinav Upadhyay | 32. Common Concurrency Problems 33. Event-based Concurrency (Advanced) 34. Summary Dialogue on Concurrency |
14 | February 15th, 2025 | Pratyush Singhal | 35. A Dialogue on Persistence 36. I/O Devices 37. Hard Disk Drives |
15 | February 22nd, 2025 | Xingyu | 38. Redundant Arrays of Inexpensive Disks (RAIDs) 39. Interlude: Files and Directories |
16 | March 1st, 2025 | Oliver Mannion | 40. File System Implementation 41. Locality and The Fast File System |
17 | March 8th, 2025 | Tanay Maheshwari | 42. Crash Consistency: FSCK and Journaling 43. Log-structured File Systems |
18 | March 15th, 2025 | Japneet Singh | 44. Flash-based SSDs 45. Data Integrity and Protection 46. Summary Dialogue on Persistence |
19 | March 22nd, 2025 | Vaibhav Kurhe | 47. A Dialogue on Distribution 48. Distributed Systems |
20 | March 29th, 2025 | Amidamaru | 49. Sun’s Network File System (NFS) 50. The Andrew File System (AFS) 51. Summary Dialogue on Distribution |
Backlinks