![[Kernel, courtesy IowaFarmer.com CornCam]](kernel.jpg) |
Tentative Schedule
Week 0 |
Thu 9/1 |
Course introduction, x86 assembly |
Week 1 |
Tue 9/6 |
Part 1. OS Organization
Unix
|
|
Thu 9/8 |
Class is moved to MD 323 for today
Using virtual memory
|
Week 2 |
Tue 9/13 |
Microkernels
Optional further reading (Papers listed in dotted boxes like this are optional)
Liedtke was instrumental in developing the L3 and L4 microkernels, whose descendents are still among the most widely-used true microkernels.
(The seL4 microkernel was recently proved correct!) Liedtke was a fascinating
guy who loved tricks and cared a lot about performance. His take on microkernels in general is interesting, although less technically deep than the “Improving IPC” paper. Look for the controversial statements:
Liedtke seems to have known the x86 architecture inside and out. Two guesses which little-used virtual memory feature he took advantage of
for improving address space switching performance!
|
|
Thu 9/15 |
Exokernel
“Application Performance and Flexibility on Exokernel Systems”, M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Héctor M. Briceño, Russell Hunt, David Mazières, Thomas Pinckney, Robert Grimm, John Jannotti, and Kenneth Mackenzie, Proc. 17th SOSP, Oct. 1997, pp.52-65 ¡ONLY READ SECTION 4 IN DEPTH!
Further reading on exokernels:
|
Week 3 |
Tue 9/20 |
Singularity
Further reading on Singularity:
Further reading on library OSes:
|
|
Thu 9/22 |
Singularity (see 9/20) and virtual machines
|
Week 4 |
Tue 9/27 |
Virtual machine optimization
Further reading on VMM page sharing:
“Difference Engine: Harnessing Memory Redundancy in Virtual Machines”, Diwaker Gupta, Lee, Michael Vrable, Stefan Savage, Alex C. Snoeren, George Varghese, Geoffrey M. Voelker, and Amin Vahdat, Proc. 8th OSDI 2008, Dec. 2008
Further reading on Disco:
|
|
Thu 9/29 |
Virtual machines as tools
Further reading on virtual machines:
“Xen and the Art of Virtualization”, Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield, Proc. 19th SOSP, Oct. 2003, pp.164-177
|
Week 5 |
Tue 10/4 |
Debugging
“A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World”, Al Bessey, Ken Block, Ben Chelf, Andy Chou, Bryan Fulton, Seth Hallem, Charles Henri-Gros, Asya Kamsky, Scott McPeak, and Dawson Engler, Communications of the ACM 53(2), pp66-75
Further reading on OS bug finding:
|
|
Thu 10/6 |
Performance debugging, high-performance debugging
“Debugging in the (Very) Large: Ten Years of Implementation and Experience”, Kirk Glerum, Kinshuman Kinshumann, Steve Greenberg, Gabriel Aul, Vince Orgovan, Greg Nichols, David Grant, Gretchen Loihle, and Galen Hunt, Proc. 22nd SOSP, Oct. 2009
|
Week 6 |
Tue 10/11 |
On system calls
Further reading on event notification:
Libev documentation, by Marc Lehmann. Search for “epoll” and “kqueue”, and glance through the “Portability Notes”.
|
|
Thu 10/13 |
Test 1 |
Week 7 |
Tue 10/18 |
Part 2. Multiprocessors
Multiprocessor concurrency fundament
Further reading on memory models:
|
|
Thu 10/20 |
Multiprocessor concurrency and langauges
You may also be interested in:
|
Week 8 |
Tue 10/25 |
No class
|
|
Thu 10/27 |
High-performance multiprocessor concurrency: Read-Copy Update
“Read-Copy Update”, Paul E. McKenney, Jonathan Appavoo, Andi Kleen, Orran Krieger, Rusty Russell, Dipankar Sarma, and Maneesh Soni, Proc. Ottawa Linux Symposium 2001
Further useful reading on RCU. You can also glance through the talk and/or the articles below to get a feeling for RCU's goals.
|
|
Fri 10/28 |
|
Week 9 |
Tue 11/1 |
Multiprocessor system architecture
“The Multikernel: A new OS architecture for scalable multicore systems”, Andrew Baumann, Paul Barham, Pierre-Evariste Dagand, Tim Harris, Rebecca Isaacs, Simon Peter, Timothy Roscoe, Adrian Schüpbach, and Akhilesh Singhania, Proc. 22nd SOSP, Oct. 2009
|
|
Thu 11/3 |
Multiprocessor system architecture II
|
Week 10 |
Tue 11/8 |
Part 3. Subsystems and whole systems
File systems and hashing
|
|
Thu 11/10 |
Whole systems: Google infrastructure
“Bigtable: A Distributed Storage System for Structured Data”, Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber, Proc. 7th OSDI, Nov. 2006
Background reading on the Google File System
|
|
Fri 11/11 |
|
Week 11 |
Tue 11/15 |
Whole systems: Chord
|
|
Thu 11/17 |
Whole systems: CoralCDN
|
Week 12 |
Tue 11/22 |
Security: Information flow systems
|
|
Thu 11/24 |
Thanksgiving holiday |
Week 13 |
Tue 11/29 |
Whole systems: TritonSort
|
|
Thu 12/1 |
Test 2 |
Back to CS 261 Research Topics in Operating Systems
|