This page is organized by the weeks of the quarter in which lectures were given. The weeks are in inverse order, on the assumption you will most often be looking for the most recent week.
This class will be taught by Peter Reiher. The textbook is Principles of Computer System Design, by Jerome Saltzer and Frans Kaashoek. Assigned readings are from this book, unless otherwise indicated. Some chapters of this textbook are not in the hard copy version, but are only available on-line. For these readings, I will provide a URL.
I will be lecturing on these subjects during the class.
The slides used in the lectures are available via links below for the particular week in which the lecture was given. Slides are available in both Powerpoint and PDF form. For slides that used animation, the PDF versions may be hard to deal with.
The final exam will be held at the scheduled period (Thursday March 20, 3-6 PM) in the usual lecture hall, Moore 100. I will be unable to proctor it myself, so the TAs will handle the proctoring.
The final exam will be substantially harder than the midterm. The questions on the final exam will require you to do more than remember and recite the definitions of terms or simply repeat basic procedures we discussed in class. They will involve application of knowledge from the class to new problems we have not explicitly discussed, either in the readings or in class.
There will be seven questions on the test, but you will only be required to answer any four of them, of your own choosing. The material covered by the final exam will span the entire ten weeks of the class. The test will cover both the lectures and the readings.
Here is a set of sample final exam questions, taken from past final exams given for this class. Suitable answers are included.
The TAs will have review sessions for the final exam during the scheduled lab hours this Friday.
The TAs for the course are:
Vahab Pournagshband -- vahab@cs.ucla.edu
Tuan Le -- tuanle@cs.ucla.edu
Zhe Wen -- wenzhe@cs.ucla.edu
They will be responsible for all issues related to the lab projects and design problems. Questions on these should be directed to them. The lab page is here.
Chapter 7, section 7.1, pages 7-1 through 7-20. Here is a link to the PDF online version of Chapter 7.
Fallacies of Distributed Computing Explained, Amon Rotem-Gai-Oz.
Chapter 9, section 9.6.3. Here is a link to the PDF online version of Chapter 9.
Chapter 4, section 4.5, pages 184-195.
What Cloud Computing Really Means, Eric Knorr, Galen Gruman, Infoworld.
NOTE: Since I fell behind last week, lecture 15 is being given on Tuesday, March 4 instead of last Thursday. The same readings are assigned here as were previously assigned. There will be a quiz before the lecture on Tuesday on those readings.
Chapter 6, section 6.1 (pages 300-321), section 6.3.4 (pages 360-362)
Chapter 2, section 2.5. (pages 91-112)
Chapter 8, Sections 8.1.1 (pages 8-3 to 8-6), 8.2.1 (pages 8-8 to 8-13), and 8.5.4 (pages 8-40 to 8-51). Here is a link to the PDF online version of Chapter 8.
An Introduction to Device Drivers," Chapter 1 of "Linux Device Drivers," by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman, published by O'Reilly, 2005..
Understanding Modern Device Drivers, Asim Kadaf and Michael M. Swift, Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems. 2012.
As announced at the end of the last class, since I have fallen a full lecture behind, the class for Thursday, Feb. 27 will be the lecture on device drivers originally planned for Tuesday, Feb. 25. Further, there will be no quiz on Thursday, since the covered material was already handled in the Tuesday quiz. The lecture originally scheduled for Thursday, and the quiz associated with it, will be given on Tuesday, March 4.
Chapter 6, Sections 6.2-6.2.1 (pages 321-323).
Dynamic Storage Allocation: A Survey and Critical Review, by Paul Wilson, Mark Johnstone, Michael Neely, and David Boles. This is a very long paper. You are only required to read the following sections of it:
Sections 1.1-1.3 and section 2-21 (pages 6-13) and sections 3.3 and 3.4 (pages 42-45).
Chapter 5, Section 5.4 (pages 242-255).
Chapter 6, section 6.2.2-6.2.9 (pages 323-347).
Chapter 11, Overview and section 11.1, pages 11-4 to 11-28.
These readings are part of the online textbook and can be found here.
Chapter 11, section 11.2, pages 11-28 to 11-36.
Chapter 11, section 11.4, pages 11-49 to 11-54.
Chapter 11, section 11.6, pages 11-72 to 11-80.
These readings are part of the online textbook and can be found here.
The midterm will be on Thursday, February 6, so there is only one lecture for this week.
Chapter 5, Section 5.2.5 (pages 221-222), Chapter 5, Section 5.6 (pages 273-284)
Slides:
Chapter 5, Section 5.2 (pages 210-230), Chapter 4, Section 4.2 (pages 167-173)
Chapter 9, Section 9.1-9.1.7 (pages 9-1 through 9-20). Note: This is one of the chapters that is not included in the print version of the book, but is only available on line. Here is a link to the PDF online version.
Chapter 5, Section 5.5 (pages 255-272).
Chapter 6, Section 6.3 (pages 347-362).
Chapter 2, Section 2.1 (pages 43-60)
Chapter 4, Section 4.1-4.1.2 (pages 147-162), Chapter 5, Section 5.1 (pages 199-210), Section 5.3-5.3.4 (pages 230-237)
Chapter 1 (pages 1-40).
Chapter 1 (pages 1-40). That's the same reading as for lecture 1. I assigned it for that lecture by mistake. The quiz preceding lecture 2 will be on this reading.