CS553
Operating Systems II
Spring 2007



Prerequisites:

Overview:

Grading

Grading is based on:
In-class presentation(s) 15%
Semester project proposal, milestone* and final report 30%
Class projects and end of semester presentation / demonstration 45%
Class participation 10%

* The project milestone is a mid-semester report that will act as a skeleton for the final report. It should be similar to the final report with any preliminary results included, where appropriate. You should try to write your final report in the same format as the papers we will read and discuss in the course. The best papers will be selected as potential candidates for submission to conferences.

General Notes

Weekly Syllabus (subject to change)

Date

Topic

Reading

Notes

Presenter

January 16 Introduction
 
  • Discussion of course outline
Instructor
January 18
"Systems Software Research is Irrelevant"
 
Instructor
 
 
 
 
 
January 23
ULS / SafeX
 
  • Systems group research discussion
  • slides
Instructor
January 25
Hijack

  • Systems group research discussion
  • slides
Gabe Parmer





January 30
Quest / Cuckoo
 
Gary Wong
February 1
Programming the Garcia Robots

  • Systems group research discussion 
  • slides
Gerald Fry





February 6
Interrupt Management and Accounting
  • Systems group research discussion
  • slides
Instructor
February 8
Linux Interrupts
Bovet and Cesati (Linux Kernel), Chapter 4 and Benvenuti (Linux Network Internals), Chapter 9 Raymond Sweha





February 13
Safety / Extensibility
[1]
  • slides
  • project proposals due in class
Michael Ocean
February 15
Virtualization
[2, 3]
Alex Smirnov





February 20


** Substitute Monday Class ** (NO CLASS)

February 22
Embedded Systems
[4]
Marianne Procopio





February 27
Resource Management
[5]
Jorge Londono
March 1
Linux Signals / IPC
Bovet and Cesati, Chapter 11
Smitha Patil





March 6
Network Services / System Extensibility
[6]
Aaron Hughes
March 8
Resource Management
[7]
Joshua Cowhig





March 13


** Spring Recess **

March 15


** Spring Recess **






March 20
Linux Synchronization and Scheduling
Bovet and Cesati, Chapters 5 and 7
Josh Avroch
March 22
Linux I/O Management

John Caldas





March 27
OS Structure: micro-kernels
[8]
Dan Berkovitch
March 29
Virtual Machines
[9]
Raymond Sweha





April 3
Virtual Machines
[10]
  • slides
Alex Smirnov
April 5


 ** No class **






April 10
Safety/Security
[11]
  • Milestone reports due in class
  • slides
Michael Ocean
April 12
Network Services
[12]
Marianne Procopio





April 17
Resource Management
[13]
Jorge Londono
April 19
Hardware Support for OSes: Case Study of ARM, x86_64 Pacifica

Aaron Hughes





April 24
Scheduling
[14]
Joshua Cowhig
April 26
Linux Scheduling
Bovet and Cesati, Chapter 7
Josh Avroch





May 1


Final Project Presentations
(GROUP 1)
Dan Berkovitch and Smitha Patil, Marianne Procopio, Raymond Sweha, Michael Ocean
May 3


Final Project Presentations
(GROUP 2)
Josh Cowhig, Josh Avroch and John Caldas, Aaron Hughes

References:
  1. "XFI: Software Guards for System Address Spaces", U. Erlingsson, M. Abadi, M. Vrable, M. Budiu and G. C. Necula, OSDI 2006
  2. "A Comparison of Software and Hardware Techniques for x86 Virtualization", K. Adams and O. Agesen, ASPLOS 2006
  3. "Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor", J. Sugerman, G. Venkitachalam and B.H. Lim, USENIX 2001 Annual Technical Conference
  4. "Security in Embedded Systems: Design Challenges",  S. Ravi, A. Raghunathan, R. Kocher and S. Hattangady, ACM TECS 2004
  5. "Lottery Scheduling: Flexible Proportional-Share Resource Management", C. Waldspurger and W.E. Weihl, OSDI 1994
  6. "Lazy Receiver Processing (LRP): A Network Subsystem Architecture for Server Systems", P. Druschel and Gaurav Banga, OSDI 1996
  7. "Performance of Multithreaded Chip Multiprocessors and Implications for Operating System Design", A. Fedorova, M. Seltzer, C. Small and D. Nussbaum, USENIX 2005 Annual Technical Conference (See also Tech Report TR-17-04, Division of Engineering and Applied Sciences, Harvard University, August 2004)
  8. "On Micro-kernel Construction", J. Liedtke, SOSP 1995
  9. "Optimizing Network Virtualization in Xen", Aravind Menon, Alan L. Cox, Willy Zwaenepoel, USENIX 2006
  10. "Xen and the Art of Virtualization", B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, I. Pratt, A. Warfield, P. Barham and R. Neugebauer, SOSP 2003
  11. "Labels and Event Processes in the Asbestos Operating System", Petros Efstathopoulos, Maxwell Krohn, Steve VanDeBogart, Cliff Frey, David Ziegler, Eddie Kohler, David Mazi, Frans Kaashoek and Robert Morris, SOSP 2005
  12. "U-Net: a User-level Network Interface for Parallel and Distributed Computing", T. von Eicken, A. Basu, V. Buch, W. Vogels, SOSP 1995
  13. "Memory Resource Management in VMware ESX Server", C.A. Waldspurger, OSDI 2002
  14. "Cache-Fair Thread Scheduling for Multicore Processors", A. Fedorova, M. Seltzer and M. D. Smith, Technical Report, TR-17-06, Harvard University, 2006

Reading List

Books and Documentation Sources

Suggested List of Papers and Project Ideas


Last updated: May 2nd by Rich West.