Quiz 3 has been graded. The average was 30 points, with a standard deviation around 8 points. A distribution can be found here.
Answers for quizes:
Quiz 3 is now available. SCPD students must return the exam to SCPD by 10am Pacific time on Friday, June 9. If you fax your exam, please use dark ink, write clearly (grammar still optional), and use the highest possible fax quality when sending in your exam.
ERRATA: Problem 8, the word "segments" should be inserted after "1 MB", and the words "the a" should simply be "a".
Slides from the SOSP'97 talk where the Exokernel paper was presented are available here. These slides are different from the job talk slides discussed in lecture; they are targetting towards an audience with some background knowlede in systems or OS research (the kind of material studied in this class).
Quiz 3 is on Wednesday, June 7. The format of the exam is the same as the other exams, other than it is a comprehensive exam that will cover all the papers we read this quarters. The only papers we will definitely not ask questions on are:
The exam is completely comprehensive: do not expect that the questions will be distributed in a manner such as 1/2 the questions will be for papers from the first quiz, 1/2 from the second quiz, etc. Be prepared to answer questions for any of the papers; also since many of the ideas of the papers tie together you should expect (as in the other quizes) that there are questions that draw from multiple papers.
SCPD students: You will have until Friday, June 9 (10am Pacific Time) to return the exam to SCPD.
The exam was 40 pointer (8 out of 10 questions). The average on the exam was around 27 points, with a standard deviation around 6 points. A more detailed distribution is available here.
Answers will be posted shortly.
The final exam will be on Wednesday, June 7. SCPD students will have until Friday, June 9 to return exams to SCPD. Exams must be received at SCPD by 10am, Pacific Time.
More details concerning quiz 3 will be posted shortly.
Quiz 2 is now available. SCPD students must return the exam to SCPD by 10am Pacific time on Wednesday, May 31. SCPD students are encouraged to return exams by mail instead of faxing it, since we encountered difficulties with the last quiz in grading exams due to legitibility issues due to poor facsimiles. If you fax your exam, please use dark ink, write clearly (grammar still optional), and use the highest possible fax quality when sending in your exam.
Quiz 2 will be on May 26 (in class). It will cover the papers covered in class up to May 24 (RAID).
We have graded the exams for all local students, and are almost finished with grading the exams for local students (there were delays in the exams reaching us).
The exam was 40 pointer (8 out of 10 questions). The average on the exam was around 25 points, with a standard deviation around 7 points. A more detailed distribution is available here.
Questions with Answers: pdf.
Note that all "Grading" comments are approximate; we took off or gave points based on whether it was clear an answer indicated comprehension of the material (buzzwords or statements without reasoning or explanation were often indicators of the opposite...).
There was a discrepancy between what was said in class and what was posted on the website for what paper would be covered on Wed., April 26. We will be covering the paper by Swift et al (Nooks) instead of the Failure Oblivious Computing paper (which will be covered on Fri. April 28). This was the order as it was posted on the website.
The first quiz will be held in class on May 3. It will cover all papers up to the quiz. The quiz is open note (including having copies of the papers we have read), but not "open laptop." Further details regarding extra office hours, etc., will be made next week
We haven't decided on the exact dates for the 3 quizes, but based on the Autumn Quarter's schedule (which you can find via a link on the current quarter's website) the first and second exam's should be during the weeks of May 3 and May 31. The last exam is the final, and will be held on the last day of class.
After class today a question was raised about the attendance policy of the class. Because the class is largely based on participation (40% of grade for non-SCPD students), students are allowed to miss no more than 3 classes before they automatically will be dropped a letter grade. If you believe you will have problems attending class, either throughout the quarter or for a given block of time, please talk to the staff BEFORE you need to miss class.
SCPD Students: Just a reminder, because you may not be able to physically attend class, your grade will be based 100% on your performance on the exams. This is already stated on the course web page.
Students will study advanced operating system topics and be exposed to recent developments in operating systems research. This course involves readings and lectures on classic and new papers. Topics: virtual memory management, synchronization and communication, file systems, protection and security, operating system structure and extension techniques, fault tolerance, and history and experience of systems programming.
To contact the staff, please send email to email@example.com and prefix the subject line with "CS240" for a prompt response. Announcements from the staff will be sent via the firstname.lastname@example.org mailing list to which any registered student will automatically be added.
The prerequisite for this class is CS 140 (previously CS 240A) or the equivalent. It is necessary to have this background before taking the class, as we'll read a lot papers quickly without much time for catching up on the basics. The course assumes an understanding of topics in operating systems such as synchronization, virtual memory management, scheduling, and file systems.
The other requirement is that students be able to send and receive email, access the class newsgroup, access the class web page, and download and print postscript from the class web page. There will be very few handouts in the course, since most of the notes and other materials will be available only on the class web page.
The course consists of lectures, readings, and three exams. As the quarter progresses there may be ways to get extra credit. The two most important things to know about the class: (1) the main goal is to have interesting in-class discussions and (2) we recommend you read each paper at least twice, preferably more than a day in advance so that it sinks in.
Most of the work in this course consists of reading journal and conference papers. We will cover one paper for each class meeting. This class will be primarily discussion based (rather than organized around lectures). Active discussion will (hopefully) give you a non-trivial understanding of the material. The only way this approach can work is if you read the papers carefully. To encourage this, 40% of your class grade will come from class participation: this includes talking in class, as well as how you do on pop quizzes and (possibly) pop presentations. Class time will not be used to rehash the material in the papers. Instead, it will be used to highlight the important points and discuss some of the more interesting features. There will be as much as 10-15 hours of reading per week. Do not take this course unless you are willing and able to do a lot of reading.
There is no textbook for this course. The course is based on a collection of journal and conference papers that describe the history and state of the art in operating systems. Papers will be discussed in class in approximately the order that they appear on the reading list. You must read the papers before class. At a minimum we recommend two close readings. We will provide most papers online; those that are only available in hardcopy will be provided about a week before they are needed.
The class is graded on a rough curve. 40% of your grade will come from class participation, the other 60% will be based on two midterm exam scores and the final exam score. All three exams count. SCPD students will be graded just on exams (and any homeworks).
A: No. Attendance is a necessary but not sufficient condition for good class participation.
As far as attendance is concerned, the general policy is that a student will automatically receive a deduction of one letter grade for missing more than 3 lectures. We will not take official roll during lecture, but because we make the effort to know everyone in the class we will notice if a student is frequently absent. If you are a non-SCPD student and have any concerns about not being able to regularly attend class (e.g., you will have to miss several classes during the quarter) please discuss this as soon as possible with the course staff.
Beyond attendance, we evaluate class participation largely by observing how prepared students are to discuss the covered paper when they come to class. This is not a trivial requirement because we expect papers to have been read thoroughly prior to lecture.
Two midterm exams and a final exam will be given in class. They will be open book (but not open laptop). The midterm exams are not cumulative, but the final exam is cumulative. A sample exam will be available along with sample solutions. Review sessions will be held before each exam.
There is a class newsgroup, su.class.cs240, that can be used by members of the class to converse with each other. All course announcements will be put on to the class web page. The news group is a good place to advertise for study groups, ask questions of other students, etc.
This course makes no attempt to cover all the interesting topics in operating systems. Instead, we will cover a few topics in depth. The course is divided into the following general topic areas:
|(W 4/5)||The Rise of "Worse is Better"||Richard Gabriel|
|Conc. (F 4/7)||An Investigation of the Therac-25 Accidents||Leveson and Turner|
|Conc. (M 4/10)||Eraser: A Dynamic Data Race Detector for Multithreaded Programs||Stefan Savage|
|Conc. (W 4/12)||Experience with Processes and Monitors in Mesa||Butler Lampson|
|Conc. (W 4/14)||Capriccio: Scalable Threads for Internet Services||Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric Brewer|
|Why Threads Are a Bad Idea (for most purposes)||John Ousterhout|
|Cooperative Task Management without Manual Stack Management (up to and including Section 3)||Atul Adya, Jon Howell, Marvin Theimer, William J. Bolosky, John R. Douceur|
|Conc. (M 4/17)||Threads cannot be implemented as a library||AHans-J. Boehm|
|VM (W 4/19)||Virtual Memory Management in the VAX/VMS Operating System||Levy and Lipman|
|VM (F 4/21)||Practical, Transparent, Operating System Support for Superpages||Navarro, Iyer, Druschel, and Cox|
|VM (M 4/24)||Memory Resource Management in VMware ESX Server||Waldspurger|
|(W 4/26)||Improving the Reliability of Commodity Operating Systems [Nooks]||Swift, Bershad, Levy|
|(F 4/28)||A Dynamic Technique for Eliminating Buffer Overflow Vulnerabilities (and Other Memory Errors)||Rinard, Cadar, Dumitran, Roy, Leu|
|Enhancing Server Availability and Security Through Failure-Oblivious Computing||Rinard, Cadar, Dumitran, Roy, Leu, Beebee|
|(M 4/1)||Quiz 1 Review|
|(W 4/3)||Quiz 1 (Midterm)|
|N/W (F 4/5)||Eliminating Receive Livelock in an Interrupt-Driven Kernel||Mogul and Ramakrishnan|
|N/W (M 4/8)||The End to End Argument in System Design||Saltzer, Reed, Clark|
|FS (W 4/10)||Design and Implementation of the SUN Network Filesystem||Sandberg et al.|
|FS (F 4/12)||Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency||Gray and Cheriton|
|FS (M 4/15)||A Low-Bandwidth Network File System||Muthitacharoen, Chen, and Mazieres|
|(W 4/17)||MapReduce: Simplified Data Processing on Large Clusters||Dean and Ghemawat|
|FS (F 4/19)||The Design and Implementation of a Log-Structured File System||Rosenblum and Ousterhout|
|FS (4/22)||Soft Updates: A Solution to the Metadata Update Problem in File Systems||McKusick, Ganger|
|(W 4/24)||A Case for Redundant Arrays of Inexpensive Disks (RAID)||Patterson, Gibson, and Katz|
|(F 4/26)||Quiz 2 (Midterm)|
|(M 5/29)||No Class (Memorial Day)|
|(W 5/31)||Xen and the Art of Virtualization||Barham et. al|
|Exp. (F 6/2)||Application Performance and Flexibility on Exokernel Systems||Kaashoek et. al|
|Exp. (M 6/5)||Hints for Computer System Design||Butler W. Lampson|
|(W 6/7)||Quiz 3 (Final)|
Webpage maintained by Ted Kremenek