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