CSE 221: Operating Systems


This course does not have a textbook. Instead, the course material will come from seminal, noteworthy, or representative papers from the literature. Each lecture (except the first) will have two assigned papers to read. You should read these papers before coming to class, and be prepared to discuss them (written evaluations are not required). Occasionally we will also list recommended papers; you are encouraged to read those, but not required. Students often find it useful to discuss papers together before the class period, and we encourage the practice (see the collaboration policy). any assigned readings.

I would, however, strongly recommend an undergraduate operating systems textbook as a reference—any reasonably recent OS textbook will suffice, such as:


This course will have roughly bi-weekly homework assignments, a substantial programming project, and a final. Grades for this class will be based on:

Final grades will be curved.


The structure of this course is unusual in that there are no lectures or presentations during the class period. Instead, we will discuss research papers that we will have all read before each class period. I will lead discussions by asking questions of students at random in class. Note that your answers to these questions form a part of your overall grade, so it is important that you both show up to class as well as read the papers carefully.

Because of the unusual format of this class, you will not be graded on class participation during the first two weeks of class.

Missing class: Occasionally, students have to miss class for one good reason or another (e.g., present a paper at a conference, go on a business trip). If you find yourself in this situation, contact me ahead of time to let me know you will be gone. Since you will not be in class to participate in discussion, I also ask that you write a brief evaluation of the papers for the class that you will miss. Your evaluation should address the following questions:

Your evaluation should be concise, with just one to a few sentences per question. Also, below each paper on the reading list is a question specific to the paper topic. Please conclude your evaluation by answering this question. Email your evaluations to me.

No late assignments will be accepted. Exceptions for documented medical emergencies, death of an immediate family member, or other such life-altering situations must be requested fromt he instructor as soon as practical.


Also available as an ical file that you can subscribe to.

Date Topics Systems Readings
Thu 09/22 Class overview
Tue 09/27 Historical perspective
THE & Nucleus [Dij68], [Bri70]
Thu 09/29 Historical perspective (cont)
Tue 10/04 Structure
Multics [Lam74], [Sal74]
Thu 10/06 Structure (cont)
UNIX & Plan 9 [RT74], [PPD+95]
Tue 10/11 Structure (cont)
Pilot & Signularity [RDH+80], [HL07]
Thu 10/13 Synchronization
Monitors [Hoa74], [LR80]
Tue 10/18 Virtual memory
VMS & Mach [LL82], [RTY+87]
Thu 10/20 Distribution
V & Sprite [CZ83], [OCD+88]
Tue 10/25 Distribution (cont)
GMS & Google [FMP+95], [BDH03]
Thu 10/27 Architectural interactions
L4 & Exokernel [HHL+97], [EKO95]
Tue 11/01 Architectural interactions (cont)
Xen & Cells [BDF+03], [ADV+11]
Thu 11/03 Scheduling
Scheduler Activations & Lottery scheduling [ABLL91], [WW94]
Tue 11/08 Communication
IX & RPC [BPK+14], [BN84]
Thu 11/10 (no class)
Tue 11/15 File systems
FFS & LFS [MJLF84], [RO91]
Thu 11/17 File systems (cont)
Soft Updates & Rio [GMSP00], [CNA+96]
Tue 11/22 File systems (cont)
GFS & F4 [GGL03], [MLR+16]
Thu 11/24 Thanksgiving (no class)
Tue 11/29 Multicore
Corey & Multikernel [BCM+10], [BBD+09]
Thu 12/01 UCSD Potpourri
A variety of locally brewed systems [VMC+05], [GYM+06], [GVV08], [GLV+08], [MDW+10], [MMP+12]
Tue 12/06 Final Exam (8am Center 113)

Last updated: 2017-07-27 15:52:12 -0700 [validate xhtml]