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.
All assigned readings will be made available by web links. The textbook is Operating Systems: Three Easy Pieces, by Remzi Arpaci-Dusseau and Andrea Arpaci-Dusseau. This is an on-line textbook, with links to the various chapters towards the bottom of the page, but the direct links to the assigned chapters will be provided on this page. You will not need to pay anything to use this textbook.
There wll be supplemental readings from Principles of Computer System Design, by Jerome Saltzer and Frans Kaashoek. All readings from this book will be available on-line, but only from UCLA IP addresses. Use the UCLA VLAN to connect into UCLA's network if you need to access them from another place. You do not need to pay for this textbook, either There will also be other web readings.
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 TAs for the course are:
They will be responsible for all issues related to the lab projects and design problems. Questions on these should be directed to them.
The final exam will be held at the scheduled time for this class period, 11:30AM-2:30PM on Monday, December 5, in our regular classroom. This will be an open book, open notes test. You may write your answers on your laptop computer and hand in the test via flash drive, or you may hand write your answers on paper. If you hand it in electronically, it can be in plain text, PDF, or Word format. You may have any materials you want to consult loaded onto your laptop, but are not permitted to use the Internet during the test. We will be proctoring the test and watching for Internet use.
The test is cumulative and will cover all material in any readings assigned and all material discussed in lectures. Anything covered only as part of a project will not be on the test, but if such material was also in the readings or lectures, it could appear. The test questions will be oriented towards application of knowledge from the class, rather than simply understanding terms and concepts that were presented. Here is a sample final exam with the kind of questions you might expect to see on the final. Example acceptable answers are also included. You will not be required to write new code for the final, but it is possible you might need to analyze code I give you and correct mistakes or make small alterations to it.
Here are the Edison tutorials that can help you work on project 4.
Project 4 is due on Sunday, December 11, at 11:59 PM. (Note the change in due date.) Here is the description of lab 4. The server for project 4 is now available.
Since I am a full lecture behind, no new slides will be assigned for lecture 18. I will lecture on the slides for lecture 17 on the last day of class. You are still responsible for the lecture 18 readings, however, which might appear on the final exam.
Project 3B is due on Monday, November 28. Here is the description of lab 3B.
Introduction to operating system security
Authentication for operating systems
Distributed Systems: Goals and Challenges
Project 3A (File System Dump) is due on Friday, November 18. Here is the description of lab 3A.
Object storage (only history and architecture sections of page
Key-value stores (only Introduction and types sections of page)
FUSE (only Introduction, history, and uses sections of page)
Arpaci-Dusseau, Appendix I.6-10.
Measuring Operating System Performance
Arpaci-Dusseau, Chapter 33-33.6.
Device Drivers Classes and Services
No new project is due this week. We changed project 2 from three parts to two parts this quarter, so there is no project 2C.
I have fallen a full lecture behind. Therefore, I will be giving the already- assigned lecture 9 on Thursday, October 27. Lecture 10 will be given on Tuesday, November 1. Therefore, there is no quiz due on the 27th and no reading assigned for that day. The quiz for lecture 10 must be completed before the start of the lecture on Tuesday, November 1, as usual for quizzes in the class.
Health Monitoring and Recovery
Project 2B (Complex critical sections) is due on Saturday, October 29. Here is the description of lab 2B.
The midterm will be held in class on Tuesday, October 25. More details on the midterm will be posted here by the Friday before the test.
Project 2A (Atomic operations) is due on Wednesday, October 19. Here is the description of lab 2A.
Lecture 7 Quiz. Note: we are switching to allowing only one attempt per quiz, so be prepared before taking the quiz.
Arpaci-Dusseau, Chapter 17. This chapter should have been assigned with Lecture 5. The material in the chapter will not appear on the lecture 7 quiz, but may appear on the midterm and final exams.
Named pipes. This is a web page with multiple links off it. You are to read the parts labeled 6.3.1 through 6.3.5.
Lecture 8 Quiz. Note: we are switching to allowing only one attempt per quiz, so be prepared before taking the quiz.
Project 1B (Networking) is due on Wednesday, October 12.
Here is the description of project 1B.
Project 1A (I/O and IPC) is due on Wednesday, October 5.
Here is the description of project 1A.
Project 0 (the warmup) is due on Wednesday, September 28.
Saltzer, Chapter 1-1.3. Available from UCLA networks only.
Application Programming Interfaces