Part of the Software Internals Email Book Club.
The next book we'll read is Operating Systems: Three Easy Pieces by Remzi and Andrea Arpaci-Dusseau. The book is freely available online or you can buy a physical copy.
Because this book is not short we're going to read it in three chunks. I will only ask people to be the discussion starter for chapters until the next BREAK. During the BREAK we'll pause for a bit to allow people to catch up and for new people to join.
We won't read the online-only sections on Security after Chapter 51.
Sign up here. You will be added to the Google Group eventually. I add everyone manually and it rate limits me to 50 or something invites per day. You also must allow me to add you directly or invite you, in your Google Group settings.
| Date | Discussion starter | Chapter(s) | Title |
| January 24 | Phil Eaton | 1 & 2 | Dialogue & Introduction |
| January 31 | TBD | 3 & 4 | Dialogue & Processes |
| February 7 | TBD | 5 | Process API |
| February 14 | TBD | 6 | Direct Execution |
| February 21 | TBD | 7 | CPU Scheduling |
| February 28 | TBD | 8 | Multi-level Feedback |
| March 7 | TBD | 9 | Lottery Scheduling |
| March 14 | TBD | 10 & 11 | Multi-CPU Scheduling & Summary |
| March 21 | TBD | 12 & 13 | Dialog & Address Spaces |
| March 28 | TBD | 14 | Memory API |
| April 4 | TBD | 15 | Address Translation |
| April 11 | TBD | 16 | Segmentation |
| April 18 | TBD | 17 | Free Space Management |
| BREAK | BREAK | BREAK | Regroup and decide next leaders |
| TBD | TBD | 18 | Introduction to Paging |
| TBD | TBD | 19 | Translation Lookaside Buffers |
| TBD | TBD | 20 | Advanced Page Tables |
| TBD | TBD | 21 | Swapping: Mechanisms |
| TBD | TBD | 22 | Swapping: Policies |
| TBD | TBD | 23 & 24 | Complete VM Systems & Summary |
| TBD | TBD | 25 & 26 | Dialogue & Concurrency and Threads |
| TBD | TBD | 27 | Thread API |
| TBD | TBD | 28 | Locks |
| TBD | TBD | 29 | Locked Data Structures |
| TBD | TBD | 30 | Condition Variables |
| TBD | TBD | 31 | Semaphores |
| TBD | TBD | 32 | Concurrency Bugs |
| TBD | TBD | 33 & 34 | Event-based Concurrency & Summary |
| BREAK | BREAK | BREAK | Regroup and decide next leaders |
| TBD | TBD | 35 & 36 | Dialogue & I/O Devices |
| TBD | TBD | 37 | Hard Disk Drives |
| TBD | TBD | 38 | Redundant Disk Arrays (RAID) |
| TBD | TBD | 39 | Files and Directories |
| TBD | TBD | 40 | File System Implementation |
| TBD | TBD | 41 | Fast File System (FFS) |
| TBD | TBD | 42 | FSCK and Journaling |
| TBD | TBD | 43 | Log-structured File System (LFS) |
| TBD | TBD | 44 | Flash-based SSDs |
| TBD | TBD | 45 & 46 | Data Integrity and Protection & Summary |
| TBD | TBD | 47 & 48 | Dialogue & Distributed Systems |
| TBD | TBD | 49 | Network File System (NFS) |
| TBD | TBD | 50 & 51 | Andrew File System (AFS) & Summary |
All discussion is via a Google Group. You probably need a Google account. Your email will be public if you post but otherwise it will not be visible to anyone.
There will be no Zoom or Google Hangout, it will purely be over text email.
You should read the chapter before the date it is listed.
Each weekend, one person will send out an email to start discussion. It can be as short as a paragraph or two just to get discussion going. Anyone else can chime in afterward.
It's most fun if this discussion starter doesn't summarize the chapter but tells a bit about themselves, their background, and what resonated or was confusing in the chapter, or how it tied back to something they experienced in the real-world.
Fill out this form.