Operating Systems: Three Easy Pieces
Book News
- 03/31/15: Updates to many chapters, resulting in new version 0.90
- 01/05/14: Added new traces in cpu-intro
- 01/04/14: Added new homework for cpu-intro
- 09/04/14: Added new homework for threads-locks
- 07/28/14: Added new homework for cpu-api
- 07/26/14: Added new homework for vm-freespace
- 05/26/14: Released Version 0.8; includes many small fixes and lower
price hard and soft covers
- 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/04/14: New homework in dist-afs to simulate AFS cache consistency
- 02/16/14: Major updates throughout to Version 0.7. This can be
considered a final version of the text and figures - only homeworks 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.
- 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
- 11/05/13: Some updates to File Intro - basically
more details on fsync(), rename(), and how to use them for atomic update
- 09/06/13: Some updates to Limited Direct
Execution chapter - small bug fix in Semaphores
- 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
- 08/14/13: 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/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/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
- 01/12/13: Updates to vm-freespace, vm-segmentation
- 01/09/13: A number of fixes thanks to various bug reports: see errata
- 07/19/12: Moved to one less easy piece!
- 06/15/12: Finally caught up on many many student fixes and such
- 04/08/12: Updated file-journaling somewhat substantially
- 03/20/12: More pictures in file-devices - a little more text too
- 03/12/12: Yet again a few more typos in various chapters - see errata
- 03/05/12: A few more typos in various chapters
- 03/02/12: A few typos in various chapters
- 02/14/12: Numerous typos
- 02/10/12: Update of NFS chapter
- 02/10/12: Update of TLB code example
- 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
- 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/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
|