Course Management


The course uses two free textbooks. The first is Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. The online HTML version is free, but you can also buy the PDF or a printed copy. The second is Concurrent Programming with Harmony by Robbert van Renesse.

Suggested Additional readings:

  • On Operating Systems Implementation:
  • On concurrent programming:
  • On networking:
    • This course also has a networking portion. There is no required textbook but students often ask for a resource recommendation. We recommend Computer Networking: A Top-Down Approach by Kurose and Ross. In an effort to create a cost-effective option for this second textbook, we have created a collection of the first 5 chapters of the 6th edition for you to purchase electronally if you wish.
      (Click on the link above to purchase access to the course materials. If you already have a Pearson user account, sign-in with your username/password; if you do not, you will be asked to create a Pearson account prior to purchasing the course materials.) Please note this book goes into far more detail than we do in class.

Supplementary: Those of you looking for a primer/refresher on computer architecture material should read Chapters 3.1-3.11, 4.1-4.5, 5.1-5.3, 7.1-7.4, 8.1-8.5 in "Computer Organization & Design: The Hardware/Software Interface" by Patterson and Hennessy. The chapter numbers are from the 2nd edition -- the library has it, or you can find the content listing online and map it to whatever edition you actually have. Keep in mind that this material is purely supplementary: the tests will focus on the OS side of the content in the course and not on architecture. But there are some overlaps with the OS side of the content and the material covered in these chapters, so it may be helpful to those who may have forgotten it.