0;95;c0;95;c OSTEP: Errata and Book News

Operating Systems: Three Easy Pieces

Errata and Book News

Here is a list of problems found and fixed in the book, as well as book news. Thanks so much to all of you for your help! Check out the book preface for more specific acknowledgements.

  • v0.92 07/18/17 (Michael Wu): typos in intro
  • v0.92 06/22/17: added homeworks to file-integrity
  • v0.92 06/16/17: added homework to file-lfs
  • v0.92 06/07/17: added homework to vm-intro
  • v0.92 06/07/17 (Looserof): code fix in cpu-api
  • v0.92 06/06/17 (Chien-Chung Shen @ Delaware): improvements to threads-locks
  • v0.92 06/06/17 (Peter Peterson @ Minnesota): some fixes to dist-afs
  • v0.92 06/06/17 (Sam Noh): Some rewording in threads-cv for clarity
  • v0.92 06/05/17 (Natasha Stopa): suggested fix to wording around spinlock fairness in threads-locks
  • v0.92 06/05/17 (Marco Guazzone @ University of Piemonte Orientale): bug in code in file-intro
  • v0.92 06/05/17 (Brandon Harshe): replace Mac OS X with macOS or more generic term (many chapters)
  • v0.92 06/05/17 (Ben Kushigian): code bug in threads-api
  • v0.92 05/22/17 (Yubin Ruan): rewording in file-journaling
  • v0.92 05/20/17 (Yubin Ruan): better citations in file-lfs
  • v0.92 05/15/17 (Danilo Bruschi @ Universita Degli Studi Di Milano): Correction to file-implementation
  • v0.92 05/13/17 (Michael Machtel @ Hochschule Konstanz): Typo in threads-cv homework
  • v0.92 04/30/17 (Tyler Couto): Typo in vm-tlbs
  • v0.92 04/07/17 (Nadeem Shaikh): Typo in thread-intro homework README
  • v0.92 12/07/16: CMU clarification
  • v0.92 12/01/16 (Tong He): typo in threads-api
  • v0.92 11/16/16 (Glenn Bruns @ CSU Monterey Bay): rewording in in file-device
  • v0.92 10/05/16 (Scott Catlin): text suggestion in cpu-sched-mlfq
  • v0.92 10/05/16 (Natasha Stopa and Dennis Zhou): found/fixed bug in mlfq.py homework
  • v0.92 10/05/16 (P. Kivolowitz and R. Ordonez): small bugs in vm-mechanism
  • v0.92 09/21/16 (Andrew Mahler): typo in vm-paging
  • v0.92 09/21/16 (Alex Curtis): typo in code in dist-intro
  • v0.92 09/13/16: Added missing cite in dist-intro
  • v0.92 08/27/16 (Pieter Kockx): Typo in intro
  • v0.92 08/19/16 (Aaron Gember @ Colgate): Typos in file-intro, cpu-api, cpu-mechanisms
  • v0.92 08/04/16: Added homework to chapter file-ffs , typo in vm-smalltables
  • v0.91 07/20/16: print and electronic editions updated to latest; v0.91 finalized
  • v0.91 07/12/16 (Thanu Pillai): small fix in file-journaling
  • v0.91 07/12/16 (Peter Peterson @ Minnesota): typo in threads-dialogue
  • v0.91 07/06/16: Added homework to chapter vm-beyondphys
  • v0.91 07/05/16: Added homework to chapter threads-api
  • v0.91 07/05/16: Added homework to chapter threads-bugs ; added bit on priority inversion to threads-locks
  • v0.91 06/20/16: Added details on priority inversion to threads-locks
  • v0.91 06/20/16: Added homework to chapter threads-cv
  • v0.91 06/20/16 (Jia-Shen Boon): typos in vm-mechanism, vm-beyondphys-policy, dialogue-distribution, dist-intro, file-implementation
  • v0.91 06/09/16 (Chien-Chung Shen @ Delaware): improvements to cpu-mechanisms
  • v0.91 06/09/16 Antonella Bernobich @ UoPeople): typos in vm-api, vm-freespace
  • v0.91 06/09/16 (Manu Awasthi @ Samsung): fixed citation in cpu-intro
  • v0.91 06/09/16 (Jose Cruz @ U. Portugal): added third parameter in file-intro
  • v0.91 06/09/16 (Laura Xu): bug in simulator in threads-locks
  • v0.91 06/09/16 (Peter Peterson @ Minnesota): typo in threads-locks-usage, vm-tlbs
  • v0.91 06/09/16 (John Komenda): typo in file-ssd
  • v0.91 06/09/16 (Alex Curtis): typo in file-lfs
  • v0.91 06/09/16 (Leonardo Medici @ U. Milan): typo in file-device
  • v0.91 06/09/16 (Sam Kelly): typo in vm-api
  • v0.91 05/31/16: Added a discussion on why threads are useful to threads-intro
  • v0.91 05/11/16: Updated pet status in file-intro
  • v0.91 05/02/16 (John Komenda): typos in file-integrity and dist-intro
  • v0.91 05/02/16 (Cheng Su): typo in pic in file-ssd
  • v0.91 04/28/16 (Chien-Chung Shen @ Delaware): typo in vm-freespace
  • v0.91 04/27/16 (Aashrith H Govindraj @ USF): typo in dist-intro
  • v0.91 02/29/16 (Antonella Bernobich @ UoPeople): typos in vm-api
  • v0.91 02/29/16 (Constantinos Georgiades): typos in deprecated threads-monitors
  • v0.91 02/29/16 (Fang Zheng @ IBM): typo in vm-beyondphys-policy
  • v0.91 02/12/16 (Lanyue Lu): typo in ticket lock code in threads-locks
  • v0.91 02/08/16 (Constantinos Georgiades): typo in file-implementation
  • v0.91 02/08/16 (Roger Wattenhofer @ ETH): fixes in vm-segmentation, vm-paging, file-intro, file-ssd
  • v0.91 02/01/16 (Constantinos Georgiades): typo in threads-bugs
  • v0.91 01/28/16 (Simon Pratt @ Waterloo): figure reference in vm-tlbs homework
  • v0.91 01/27/16 (ZiHan Zheng @ USTC): correction to pipe example code in cpu-api
  • v0.91 01/26/16 (Peter Peterson @ Minnesota): typo in lab-tutorial
  • v0.91 01/25/16 (Peter Peterson @ Minnesota): rewording in cpu-sched
  • v0.91 01/25/16 (Mattia Monga @ U. Milan): clarification in homework README of cpu-intro
  • v0.91 01/24/16 (Fangjun Kuang @ U. Stuttgart): typo in threads-locks-usage
  • v0.91 01/20/16 (Michael Walfish @ NYU): fixes in file-lfs, file-implementation
  • v0.91 01/19/16 (Peter Peterson @ Minnesota): typos in cpu-intro homework
  • v0.91 01/15/16 (Sankaralingam Panneerselvam): typos in cpu-api, threads-locks, file-ffs, file-lfs . Also inspired new material in file-ffs
  • v0.91 01/12/16 (Glen Granzow): typos in vm-vax, threads-locks-usage, threads-cv, threads-bugs, threads-events, file-disks, file-raid, file-intro, file-implementation, file-journaling, file-lfs, file-integrity, dist-intro, dist-nfs . Wow!
  • v0.91 01/12/16 (Demic Delic): citation url in file-integrity
  • v0.91 01/12/16 (Christian Stober): typo in vm-api
  • v0.91 01/05/16 (Jason MacLafferty @ Southern Adventist): typo in README for threads-intro, threads-locks
  • v0.91 01/04/16 (Patel Pratyush Ashesh @ BITS-Pilani): typos in file-lfs, file-integrity, dist-intro
  • v0.91 12/27/15 (Patel Pratyush Ashesh @ BITS-Pilani): bug in process-run.py , typo in file-intro , typo in dialogue-monitors
  • v0.91 12/20/15 (Thomas Scrace): typo in cpu-mechanisms
  • v0.91 12/14/15 (Pavle Kostovic): typo in dist-nfs
  • v0.91 12/09/15 Small update to cpu-sched
  • v0.91 12/09/15 (Jackson Haenchen @ Texas): typo in threads-bugs
  • v0.91 11/24/15 (Vikas Goel, Abhinav Mehra): bug in raid.py
  • v0.91 11/24/15 (Vikas Goel, Katherine Dudenas, Abhinav Mehra): correctly names SCAN vs. C-SCAN(!) in file-disks
  • v0.91 11/09/15 (Glenn Bruns @ CSU Monterey Bay): rewording in in file-implementation
  • v0.91 10/23/15 (Glenn Bruns @ CSU Monterey Bay): rewording in in threads-sema
  • v0.91 10/23/15 (Alex Zhao @ U. Colorado at Colorado Springs): rewording in in threads-locks
  • v0.91 10/23/15 (Robert Ordonez @ Southern Adventist): typo in threads-locks
  • v0.91 10/18/15 (Arek Bulski): typo in file-ssd
  • v0.91 10/18/15 (Stanley Chan @ RIT): typo in update to this file
  • v0.91 10/17/15 (Jiawen Bao): bug in ticket lock code in threads-locks
  • v0.91 10/17/15 (Arek Bulski): typo in file-integrity
  • v0.91 10/16/15 (Ilya Oblomkov): bug in process-run.py
  • v0.91 10/10/15 (Robert Ordonez @ Southern Adventist): rewording in vm-beyondphys-policy
  • v0.91 10/10/15 (Katie Coyle @ Georgia Tech): Typo in cpu-sched-multi
  • v0.91 10/08/15 (Jagannathan T. Eachambadi): bug in lottery.py
  • v0.91 10/08/15 (Song Jiang @ Wayne State): typos in file-ffs , file-lfs
  • v0.91 09/30/15: new chapter on flash-based SSDs now available in beta
  • v0.91 09/23/15 (Manav Batra @ IIIT-Delhi): typo in vm-paging
  • v0.91 09/22/15 (Glen Bruns @ CSU Monterey Bay): typo in vm-segmentation
  • v0.91 09/22/15 (Katie Coyle @ Georgia Tech): Typo in threads-intro
  • v0.91 09/09/15 (Katie Coyle @ Georgia Tech): Typo in dialogue-virtualization
  • v0.91 09/03/15 (Yudong Sun): Typo in file-lfs
  • v0.91 09/01/15 (Mart Oskamp): Fixed Dutch interpretation of P/V in (no surprise) chapter on threads-sema
  • v0.91 08/31/15 (Robert Ordonez @ Southern Adventist): Number don't itemize in cpu-api and everywhere else
  • v0.91 08/19/15 (Satish Chebrolu): Typos in threads-api
  • Homework 04/29/15 (Dorian Arnold): Bug in raid.py with timing mode
  • v0.91 04/15/15: Small update to vm-freespace
  • v0.91 04/13/15 (Glen Granzow @ College of Idaho): typos in threads-locks
  • v0.91 04/05/15 (Sandeep Ummadi): typo in threads-locks-usage
  • v0.90 03/31/15: v0.90 RELEASED: Updates to many chapters, resulting in new version 0.90
  • 03/25/15 (Teri Zhao): bug in homework vsfs.py when out of inodes
  • 03/17/15 (AmirBehzad Eslami): typos and suggestions in mystery-chapter
  • 03/12/15 (Jakob Olandt): typo in threads-bugs
  • 03/09/15 (Glen Granzow @ College of Idaho): typos in vm-beyondphys-policy and vm-beyondphys
  • 03/09/15 (Perry Kivolowitz): bug in file-device
  • 03/04/15 (Dheeraj Shetty @ NC State): awkward phrasing in vm-smalltables
  • 03/04/15 (Jingxin Li): bug in table in threads-intro
  • 03/03/15 (Angela Demke Brown @ Toronto): bug in vm-paging homework script
  • 03/02/15 (Glen Granzow @ College of Idaho): typo in vm-freespace homeowork
  • 02/25/15 (Glen Granzow @ College of Idaho): typos and fixes in vm-paging and vm-tlbs
  • 02/25/15 (Perry Kivolowitz): a few small things in threads-locks
  • 02/25/15 (Perry Kivolowitz): variable naming in threads-api
  • 02/23/15 (Perry Kivolowitz): wording change and extra commentary on interrupt masking in threads-locks
  • 02/20/15 (Michael Walfish @ NYU): added discussion on partial orderings in threads-bugs
  • 02/19/15 (Michael Walfish @ NYU): typographical fix and bug in threads-bugs
  • 02/17/15 (Glen Granzow @ College of Idaho): typo in cpu-sched homework, and bug in priority boost graph in cpu-sched-mlfq
  • 02/17/15 (Michael Walfish @ NYU): fixes in threads-cv and threads-locks-usage as well as the suggestion to renumber tables and figures in a consistent way (a change that will happen slowly to all chapters with tables).
  • 02/16/15 (Perry Kivolowitz): suggested clarification in vm-beyondphys-policy
  • 02/13/15 (Glen Granzow @ College of Idaho): typo in cpu-mechanisms
  • 02/09/15 (Perry Kivolowitz): some clarity suggested and hopefully provided in vm-paging
  • 02/06/15 (Joe Jean @ NYU): clarifications around homework in cpu-intro
  • 01/05/14: Added new traces in cpu-intro
  • 01/04/14: Added new homework for cpu-intro
  • 01/02/15 (Perry Kivolowitz): strong philosophical disagreement in vm-api which we eventually agreed with
  • 01/31/15 (Michael Walfish @ NYU): typo in cpu-api
  • 01/30/15 (David Hartman): typo in cpu-intro
  • 01/28/15 (Dheeraj Shetty @ NC State): typo in vm-paging
  • 01/26/15 (Emad Sadeghi): typo in intro
  • 01/21/15 (Ali Razeen @ Duke): typo in vm-beyondphys-policy
  • 01/11/15 (Huseyin Sular): typo in intro
  • 01/11/15 (Brian Gorman): clarification in threads-api
  • 01/03/15 (Authors): typos in file-integrity, file-raid, file-journaling, vm-paging, vm-tlbs
  • 01/03/15 (Hao Chen): typo in file-raid
  • 12/30/14 (Adriana Iamnitchi and class @ USF): typos and other fixes in cpu-mechanisms, vm-freespace, threads-sema, file-implementation, file-ffs
  • 12/30/14 (Hao Chen): typo in file-raid
  • 12/29/14 (Erik Turk): typo in vm-vax
  • 12/17/14 (Riccardo Mutschlechner): typos in file-lfs
  • 12/17/14 (William Royle @ Grinnell): clarified number of I/Os in simple write in file-implementation
  • 12/14/14 (Yudong Sun): missing cite in dist-intro
  • 12/10/14 (Hao Chen): typo in vm-paging figure 18.7
  • 12/08/14 (Rohan Das @ Toronto): typos in vm-mechanism, vm-segmentation, vm-paging, vm-tlbs, threads-intro, threads-sema, file-intro
  • 12/02/14 (John Brady @ Grinnell): typo in file-lfs
  • 11/24/14 (Itai Hass @ Toronto): typo in file-implementation
  • 11/24/14 (Jerod Weinman @ Grinnell): typo in file-implementation
  • 11/17/14 (Nick Weinandt): typo in file-journaling
  • 11/11/14 (Yudong Sun): typo in threads-sema
  • 11/06/14 (Itai Hass @ Toronto): typo in vm-mechanism
  • 10/29/14 (Andrew Valencik @ Saint Mary's): typos in threads-intro homework
  • 10/27/14 (Eduardo Stelmaszczyk): bug in threads-bugs
  • 10/16/14 (Rohan Das @ Toronto): typo in cpu-sched
  • 10/13/14 (Jerod Weinman @ Grinnell): clearer prose in threads-bugs
  • 10/13/14 (Joel Kuntz @ Saint Mary's): typo in vm-paging
  • 09/15/14 (Robert Ordonez @ Southern Adventist): typo in vm-vax
  • 10/04/14 (Jerod Weinman @ Grinnell): better fig placement in threads-locks
  • 09/23/14 (Aditya Venkataraman): typo in threads-api
  • 09/17/14 (Jiao Dong @ Rutgers): correct attribution of Confucius quote.
  • 09/15/14 (Robert Ordonez @ Southern Adventist): typo in vm-smalltables
  • 09/15/14 (Robert Ordonez and class @ Southern Adventist): suggestions for improvement for cpu-sched
  • 09/12/14 (Liang Yin): typo in vm-segmentation
  • 09/08/14 (Caleb Sumner @ Southern Adventist U.): typo in cpu-api homework
  • 09/04/14: Added new homework for threads-locks
  • 09/03/14 (Rohan Pasalkar @ Minnesota): typos in file-lfs , file-integrity , dist-nfs
  • 08/26/14 (Riccardo Mutschlechner): typos in file-implementation
  • 08/05/14 (Riccardo Mutschlechner): typos in file-intro, file-devices, file-disks, file-raid
  • 08/01/14 (Riccardo Mutschlechner): typo in threads-cv
  • 07/28/14 (Christoph Jaeger @ HTWK Leipzig): bug in diagram in vm-mechanism
  • 07/28/14: Added new homework for cpu-api
  • 07/26/14: Added new homework for vm-freespace
  • 07/02/14 (Jan Reineke @ Saarland): graph bug in cpu-sched-mlfq
  • 07/02/14 (Kartik Singhal): typo in cpu-intro citations
  • 06/30/14 (Hugo Diaz): typo in intro code snippet
  • 06/10/14 (Adam Drescher @ WUSTL): many suggestions and fixed in vm-paging, vm-segmentation, vm-tlbs, cpu-mechanisms, cpu-intro, cpu-sched-lottery, file-ffs, vm-smalltables, vm-intro, vm-freespace, vm-mechanism, cpu-sched-multi, cpu-sched-mlfq
  • 06/08/14 (Akiel Khan): typo in threads-intro
  • 05/29/14 (Riccardo Mutschlechner): typo in vm-paging
  • v0.80 05/26/14: v0.80 RELEASED: includes many small fixes and lower price hard and soft covers
  • 05/22/14 (Neeraj Badlani @ NC State): table typos in threads-cv
  • 05/22/14 (Mohammed Alali @ Delaware): typo in vm-freespace
  • 05/19/14 (Adam Drescher @ WUSTL): typo in cpu-sched
  • 05/18/14 (Mohammed Alali @ Delaware): typo in vm-intro
  • 05/18/14 (Adam Drescher @ WUSTL): typo in cpu-sched
  • 05/15/14 (Chien-Chung Shen @ Delaware): typo in file-implementation
  • 05/13/14 (Chien-Chung Shen @ Delaware): typo in file-intro
  • 05/03/14 (Samer Al-Kiswany): corrections in file-intro , file-implementation , file-journaling , file-lfs , file-integrity
  • 05/02/14 (Dorian Arnold @ New Mexico): bug in disk.py homework tool
  • 05/01/14 (Chien-Chung Shen @ Delaware): consistency problem in vm-tlbs
  • 04/29/14 (Satish Chebrolu @ NetApp): typo in cpu-mechanism
  • 04/28/14 (Chien-Chung Shen @ Delaware): consistency problem in vm-freespace
  • 04/25/14 (Chien-Chung Shen @ Delaware): typo in vm-paging
  • 04/16/14 (Leslie Schultz): typo in file-devices
  • 04/13/14 (Patricio Jara): bug in Zemaphore code in threads-sema
  • 04/07/14 (Mohammed Alali @ Delaware): typo in threads-locks
  • 03/31/14 (Chien-Chung Shen @ Delaware): bad cite in vm-api
  • 03/22/14 (Chien-Chung Shen @ Delaware): two sema value mistakes in threads-sema
  • 03/14/14 (Shreevatsa R.): typos in intro and vm-smalltables
  • 03/14/14: Added new homework for threads-intro ; download it and play around to learn more about race conditions and related fun!
  • 03/04/14: Updates to everything in the Appendix - redid table to have more verbose chapter titles - some other small fixes
  • 03/12/14 (Jonathan Perry @ MIT): figure incorrect in file-disk
  • 03/04/14: New homework in dist-afs to simulate AFS cache consistency
  • 02/28/14 (Brian Kroth): typo in vm-beyondphys-policy
  • 02/23/14 (Ming Chen @ Stonybrook): missing cite in file-journaling
  • v0.70 02/16/14: v0.70 RELEASED: Major updates throughout to Version 0.7. This can be considered a final version of the text and figures; only homeworks and bug fixes for various chapters will be added to get to version 1.0. Changes include: re-format of entire book to fit more text onto each page (saves a few bucks in the printed version, and looks a little better); added proper copyright notice and link to www.ostep.org on page footers; a few more people to thank in the acks; added list of tables; added line numbers to most code snippets added figure to cpu-intro , plus a little more description; added another example to cpu-api , plus aside; small rewrites to cpu-sched ; new pics to cpu-sched-multi ; new pic in vm-freespace ; decent rewrite of vm-tlbs including better example, aside, and pics; added some text to vm-beyondphys to clarify terms; additional policy discussion in vm-beyondphys-policy ; some detailed traces in threads-cv plus clarifying text; some detailed traces in threads-sema , plus clarification of Semaphore definition as per original paper; discussion of signals in threads-events ; better pics in file-devices ; nice piece on dimensional analysis in file-disks ; new graph of amortization in file-ffs ; many new figures in file-journaling , as well as new text and timelines of journal protocols; new pics in file-integrity ; new traces in dist-afs , as well as timelines, an aside, and an analysis of NFS/AFS; bug fixes throughout; new citations throughout
  • 02/06/14 (Jun He): typos in file-intro and vm-mechanism
  • 01/20/14 (Bjorn Lindberg): clarified random number generation in cpu-sched-lottery
  • 01/19/14 (Thomas Griebel): added cover art
  • 01/19/14 (Matty Williams): suggestion for hyperlinks, etc. in e-version
  • 01/19/14 (Nelson Gomez): typo in intro
  • 01/19/14 (Bobby Jack): typos in intro
  • 01/19/14: Added some cover art - a picture of Halley's comet (hat tip to Thomas Griebel). Plus lots of other fixes, thanks to those at Hacker News and elsewhere
  • 01/18/14 (Varun Vats): typo in preface
  • 01/06/14 (Biswajit Mazumder @ Clemson): Clarification in vm-segmentation
  • 01/06/14 (Nghia Huynh @ Texas): Incorrect type in lowlevellock in threads-locks
  • 12/20/13 (Ernst Biersack @ France): typo in file-raid homework
  • 12/17/13 (Emmett Witchel @ Texas): incorrect bit about NFS permissions dist-nfs
  • 12/05/13 (Satyanarayana Shanmugam): typo in file-lfs picture
  • 12/03/13 (Ruslan Kiselev): small fixes in file-disk and file-raid
  • 11/22/13 (Satyanarayana Shanmugam): typos in file-integrity
  • 11/14/13 (Satyanarayana Shanmugam): typo in RAID homework file-raid
  • 11/05/13: Some updates to File Intro - basically more details on fsync(), rename(), and how to use them for atomic update
  • 10/18/13 (Huanchen Zhang): typo in dist-nfs
  • 10/14/13 (Satyanarayana Shanmugam): clarified OOM in vm-beyondphys-policy
  • 10/11/13 (Masashi Kishikawa): fixed two bugs in threads-sema
  • 10/11/13 (Satyanarayana Shanmugam): small bug in threads-cv
  • 09/20/13 (Masashi Kishikawa): fixed bug in figure in vm-freespace
  • 09/17/13 (Tongxin Zheng): wrong modes in cpu-mechanism
  • 09/06/13: Some updates to Limited Direct Execution chapter - small bug fix in Semaphores
  • 08/19/13 (Anand Mundada): small typo in threads-sema
  • 08/15/13: Moved all of the homework simulator information OUT of the end of chapters and into README files, which can be downloaded from the homework page. All that is left at the end of chapters with simulators are the questions you might want to answer by using the simulator
  • v0.60 08/14/13: v0.60 RELEASED: Too much to list here; basically, went through the entire book and replaced text figures with actual drawn figures; made sure each chapter had at least one crux (problem); made sure that there were tips and asides throughout; reduced all previous sidebar material to just tips and asides; added citations in a few spots; added some new data here and there. All of this is now called version 0.6 which is getting close to a finished product (modulo a few homeworks). The rough list of chapters that have been updated includes: intro (new asides), cpu-api (aside, citations), cpu-sched (crux), cpu-sched-lottery (new data, homework changes, new tip, crux), cpu-sched-mlfq (redid pictures entirely), cpu-sched-multi (added chapter itself, graphical pics), vm-api (fixed reference), vm-mechanism (resized figures for readability), vm-freespace (redid pictures), vm-paging (added crux, rewrote here and there, added summary at end of chapter), vm-smalltables (added crux, some rewrites here and there, added a cite), threads-intro (fixed references), threads-sema (added crux), threads-locks-usage (added new chapter, fixed bugs), threads-events (added chapter itself), file-intro (fixed reference), file-raid (added crux, rewrote bits and pieces, added a few citations), file-implementation (redid pictures entireyly), file-ffs (new data, added pictures), file-lfs (redid pictures entirely), file-integrity (added chapter itself), dist-intro (added pics)
  • 08/12/13 (Torin Rudeen @ Princeton): many fixed in threads-locks-usage
  • 08/03/13 (Charlotte Kissinger): typos in file-devices and dialogue-persistence and file-raid
  • 08/02/13: Added final distributed summary dialogue
  • 08/02/13: Added a rough version on concurrent data structures with locks
  • 08/02/13: Added a rough version of a new chapter on event-based concurrency (finally!)
  • 08/02/13: Thinking about doing these long entries in a more verbose format
  • 07/31/13 (Deepika Muthukumar): wrong XOR calculation in file-integrity
  • 07/26/13 (Yue Zhuo): missing shift in vm-smalltables ; also encouragement to update the darn website, leading to a slew of updates
  • 07/26/13: Added new summary dialogue for file systems
  • 07/26/13: Added new hardcover edition
  • 07/26/13: Revised softcover edition
  • 07/26/13: Revised electronic full PDF
  • 07/26/13: New chapter on Multiprocessor Scheduling
  • 07/26/13: New chapter on (replaces and generalizes deadlock chapter)
  • 07/26/13: New chapter on Data Integrity (replaces pending file-modern)
  • 07/26/13: Upcoming chapter on event-based concurrency is next
  • 03/15/13 (Hrishikesh Amur): overclaim about windows device drivers
  • 03/14/13 (Yufui Ren): graph typo in cpu-sched
  • 02/26/13 (Ajaykrishna Raghavan): typo in cites in vm-freespace
  • 02/21/13 (Nathan Dipiazza): typo in vm-beyondphys
  • 02/17/13 (Zuyu Zhang): typo in cpu-mechanism
  • 01/24/13 (Kaushik Kannan): footnote about AS randomization needed
  • 01/21/13 (Lei Tian @ Nebraska-Lincoln): bug in disk.py homework tool
  • 01/21/13 (Varun Vats): typo in threads-intro
  • 01/12/13: Updates to vm-freespace, vm-segmentation
  • 01/09/13: A number of fixes thanks to various bug reports: see errata
  • 12/19/12 (B. Brahmananda Reddy): typo in cpu-mechanism
  • 12/01/12 (Sandeep Ummadi): bugs in vmm-intro , dialogue-concurrency
  • 10/20/12 (Joel Sommers @ Colgate): -pthread not -lpthread on link line in intro, threads-api, threads-intro
  • 10/18/12 (Xu Di): permissions detail in file-implementation , bug in disk simulator
  • 10/14/12 (Joel Sommers @ Colgate): missing destroy calls in threads-api
  • 10/01/12 (Jerod Weinman @ Grinnell): typos in vm-freespace , file-disks , file-journaling
  • 09/01/12 (David Hanle): typo in vm-segmentation
  • 08/20/12 (Bala Subrahmanyam Kambala): typo in dialogue-virtualization
  • 07/19/12: Moved to one less easy piece!
  • 06/20/12 (Benita Bose): typos in file-ffs, dist-intro, file-journaling, file-implementation
  • 06/15/12: Finally caught up on many many student fixes and such
  • 05/19/12 (Suriyhaprakhas Balaram Sankari): typos in file-devices , file-disks
  • 05/17/12 (Sharad Punuganti): typos in dist-nfs , file-intro , threads-intro , dist-intro
  • 05/14/12 (Adam Eggum): disk simulator crash
  • 05/12/12 (Guilherme Baptista): typos in threads-sema
  • 04/24/12 (Finn Kuusisto): Many typos in cpu-api , cpu-mechanism , cpu-sched , vm-segmentation , vm-freespace (actually used the word <“>suck<”> by accident!), vm-smalltables , vm-beyondphys-policy , threads-cv , file-journaling
  • 04/24/12 (Sivaraman Sivaraman): mistake in math term in file-disks
  • 04/12/12 (James Perry @ UM-D): many typos in file-journaling, file-implementation, file-ffs
  • 04/08/12: Updated file-journaling somewhat substantially
  • 04/03/12 (Jake Gillberg): wrong variable in threads-cv
  • 03/22/12 (Emily Jacobson): RAID terminology fix in file-raid
  • 03/20/12: More pictures in file-devices ; a little more text too
  • 03/12/12 (Sivaraman Sivaraman): two typos in threads-api and one small but critical fix in vm-segmentation example calculation.
  • 03/12/12 (Benita Bose): typo in vm-dialogue , and a few problems in threads-intro
  • 03/10/12 (Sivaraman Sivaraman): cache sizes of N, N+1 mixed up in vm-beyondphys-policy
  • 03/05/12 (Sivaraman Sivaraman): typo in vm-mechanism , which I kept claiming wasn't there! (but it was)
  • 03/05/12 (Shreevatsa R.): many fixes in threads-lock , threads-cv
  • 03/05/12 (Tony Adkins): typo in dialogue-concurrency
  • 03/01/12 (Benita Bose): typo in vm-mechanism
  • 03/01/12 (Shreevatsa R.): typos in threads-init and threads-api
  • 02/14/12 (James Perry @ UM-D): typo in cpu-sched-lottery ; typo in cpu-api, vm-tlbs, vm-intro, threads-api, file-implementation
  • 02/14/12 (Ripudaman Singh): small code bug in threads-deadlock
  • 02/11/12 (Charlotte Kissinger): Figures in cpu-sched are incorrectly labeled
  • 02/10/12: Update of NFS chapter
  • 02/10/12: Update of TLB code example
  • 02/09/12 (Tony Adkins): Code example in vm-tlbs is unclear
  • 02/04/12 (Xiang Peng): unrestricted in vm-mechanism should be restricted (or privileged)
  • 01/12/12: Minor fixes to many many chapters thanks to many students
  • 12/06/11: New Distributed Systems intro
  • 12/06/11: New Distributed Systems dialogue
  • 11/03/11: A number of fixes to devices and all early file system chapters
  • 10/11/11: Re-org of concurrency chapters
  • Fall'12 (Srinivasan Thirunarayanan): Fixes to file-implementation, file-journaling, file-lfs, dist-afs, file-devices, threads-sema, vm-intro, file-implementation homework, file-disks, vm-beyondphys-policy, vm-beyondphys, vm-smalltables, vm-paging, vm-paging homework, vm-relocation, cpu-api
  • Fall'12 (Abhirami Senthilkumaran): Fixes to file-intro, file-implementation, file-journaling, file-lfs, file-disk, vmm-intro, vm-beyondphys-policy, cpu-sched-lottery, intro, vm-smalltables
  • Fall'12 (Huanchen Zhang): Fixes to file-raid, file-implementation, file-journaling, vm-mechanism, vm-tlbs, vm-smalltables, threads-locks, cpu-sched
  • Fall'12 (Henry Abbey): Fixes to threads-deadlock, file-devices, file-implementation, dist-nfs, vm-tlbs
  • Fall'12 (Sy Jin Cheah): Fixes to intro, file implementation, file-ffs, file-lfs, dist-afs, threads-cv
  • Fall'12 (Cara Lauritzen): Fixes to threads-deadlock, file-devices
  • Fall'12 (Brennan Payne): Suggestion for more/better summaries, fixes to vm-segmentation
  • Fall'12 (Ripudaman Singh): Fixes to vm-paging, vm-beyondphys-policy , homeworks for both
  • Fall'12 (Nathan Sullivan): Fixes to intro, cpu-sched-lottery, vm-paging, vm-beyondphys, vm-beyondphys-policy, lab-tutorial
  • Fall'12 (Lihao Wang): Fixes to vm-tlbs, vm-relocation
  • Fall'12 (Balasubramanian): Fixes to cpu-api, cpu-mechanisms
  • Fall'12 (Meng Huang): Fixes to file-implementation, threads-cv
  • Fall'12 (Ross Aiken): Files to file-journaling
  • Fall'12 (Seth Pollen): Fixes to file-journaling
  • 09/20/11 (Huanchen Zhang): Process intro: extra will
  • 09/20/11 (Srinivasan Thirunarayanan): Process API: typo in code snippet.
  • 09/20/11 (Brennan Payne): Segmentation: typo in we get a physical address of 39016, which is not get the correct physical address.
  • 09/06/11 (Martha Ferris): Intro: to difficult s.b. to be difficult ... Intro: not to have write in assembly s.b. not to have to write in assembly
  • 07/30/11 (Karl Wallinger): Scheduling: ...of course there a number of different... missing an are
  • 07/25/11: Added new chapter on thread API
  • 07/25/11: Small update to thread intro
  • 07/05/11: Added new dialogue
  • 06/29/11: Added new simulator (lottery.py) and homework into this chapter
  • 06/29/11: Update of lottery scheduling
  • 06/26/11: Updated table of contents
  • 06/24/11: Added new simulator (paging-policy.py) and homework here
  • 06/24/11: Added new homework to this chapter
  • 06/24/11: Added new homework to this chapter
  • 06/23/11: Added new simulator (relocation.py) into this chapter
  • 06/23/11: Updated intro to address translation
  • 06/13/11: Slight update to intro chapter.
  • 06/14/11 (Karl Wallinger): Intro: extra would
  • 06/08/11 (Mike Griepentrog): Lab: Expert C Programming is still in print
  • 06/08/11: Added new disk simulator (disk.py) and homework here.
  • 06/03/11: Added new RAID simulator (raid.py) and homework here.
  • 06/03/11: Started this page to track book updates
  • 05/20/11 (Ahmed Fikri): About 30 different comments, too many to list here
  • 05/14/11 (Dustin Metzler): Chapter numbering confusing
  • 05/11/11 (Radford Smith): FFS: to allocate the data blocks of an file ... LFS: and hence to overall name of the log-structured file system ... LFS: (where NxM) .. LFS: On top the mechanism described above
  • 05/10/11 (Dustin Passofaro): AFS: state file should be stale file ... NFS if case should be in case ... RAID: other interesting that should be other interesting ideas that ... Intro: it simple -> it simply ... Deadlock: more more should be more ... Locks: it simple calls s.b. it simply calls ... Devices: for the OS send s.b. for the OS to send
  • 05/10/11 (Alex Wyler): file-journaling now and not not in we are not/now also writing to the journal first
  • 05/06/11 (Kevin Liu): cpu-api complete mispelled as comlplete
  • 04/27/11 (Radford Smith): threads-locks-hw forgot lock_t at end of typedef.
  • 04/25/11 (Murugan Kandaswamy): dist-nfs ... server (not client ) does not reply in a timely manner?
  • 03/11/11 (Ryland Herrick): threads-sema Lookups , not inserts .
  • 03/11/11 (Ryland Herrick): threads-locks-hw Missing ! in LL/SC lock.
  • 03/02/11 (Alex Wyler): paging-smalltables Bits PFN7 and PT7 don't exist.
  • 03/02/11 (Jay Lim): vmm-intro discuss not discus .
  • 03/02/11 (Zef RosnBrick): vm-segmentation fixed is not get the correct physical address by removing get
  • 03/02/11 (Zef RosnBrick): cpu-sched-mlfq replaced of with than
  • 02/23/11 (Dan Soendergaard @ U. Aarhus): dialogue-virtualization illusion misspelled as illision
  • 05/10/10 (Tuo Wang): vm-relocation 32KB is 32768
  • 05/10/10 (Tuo Wang): vm-relocation fetch from correct addresses
  • 05/10/10 (Tuo Wang): vm-paging number of numerical typos
  • 05/10/10 (Tuo Wang): vm-smalltables 55 not 45
  • 05/10/10 (Tuo Wang): file-lfs unclear sentence about buffering
  • 05/08/10 (Matt Reichoff): file-raid design should be designed
  • 03/05/10 (Cody Hanson): vm-relocation you can how should be you can see how
  • 01/24/10 (Natasha Eilbert): lab-tutorial p.1 you said Unlike Java, there is no connection between the file name and the contents of the file; because of that, just use your common sense in naming files. After thinking about this for a little bit I got what you meant, but at first was confused and thought you were saying that in C there actually _shouldn't_ be any relation at all between the filename and its contents! Maybe you could say something like no enforced connection .
  • 01/24/10 (Natasha Eilbert): lab-tutorial p. 4 that that should just be that
  • 01/24/10 (Natasha Eilbert): lab-tutorial p. 8 defintion should be definition
  • 10/24/09 (Kevin Liu): m2 - Sample assembly code on page two shows address 128, 130 and 134. However, the addresses in the diagram on page 3 shows addresses 128, 130, 133.
  • 10/24/09 (Kevin Liu): m3 page 5: next 11 bits should be next 12 bits
  • 10/24/09 (Kevin Liu): m3 page 5: In the C pseucode-code section, && should be replaced by &.
  • 10/24/09 (Kevin Liu): m3 page 8: Perhaps mention that the free list management policy does not get rid of external fragmentation, but simply tries to minimize it.
  • 10/24/09 (Kevin Liu): m4 page 4: The example showing the translation from virtual address 21 seems to have a mistake. We picked PFN 5, however, going by Figure 12.2, we should have picked PFN 7. This would mean that our physical address should be 117 instead of 85.
  • 10/24/09 (Kevin Liu): m5 page 2: CISC is defined as complex-instruction set computing , however, RISC is defined as reduced-instruction set computers . Should change one of the two to make the definitions consistent.
  • 10/24/09 (Kevin Liu): m6 page 3: Specifically, we use a tiny 16KB address space with 1KB pages (Figure 14.2) . Should be Figure 14.1.
  • 10/24/09 (Kevin Liu): m6 page 8: At PhysAddr1 (some physical address, or, if the page directory is page-aligned, just the physical frame number), we have the first chunk of 16 page table entries for the first 16 VPNs in the address space. It would look something like what you see in Figure 14.2. Should be Figure 14.3. Also, the text refers to the diagrams as Figures but they are actually labeled as Tables .
  • 10/24/09 (Kevin Liu): m6 page 10: page 254 of VA space is mapped to PFN 55, not 45.
  • 10/24/09 (Kevin Liu): m8 page 10: However, in many cases the importance of said algorithms has decreased, as the discrepancy between memory-access and disk-access times has increased. Should be decreased, not increased.