Skip to end of metadata
Go to start of metadata

Table of Contents

Meeting and Contact Information

Time: 12:30 - 1:45 W/F
Place: 1304 SC
Instructor: Sam King
Office: 4233 Siebel Center
Office hours: 4-5 M, Tue, Thurs, or by appointment (I can be available on skype).
Skype: kingst-uiuc
Phone: (217) 244-0216

Nathan Dautenhahn
SC 4303-1
Office hours by appointment

Matthew Hicks
SC 4303-3
Office hours by appointment

Newsgroup: news://news.cs.illinois.edu:119/class.sp12.cs523
Instructions for connection are located hereWeb access to the newsgroup is available here.

Course overview

This class focuses on hot topics in Operating Systems. We will discuss classic papers in the area as well as cutting-edge research. We will discuss classic papers in the area as well as cutting-edge research. We will explore new ideas through projects and improve skills in presentations, critical thinking, systems and security programming, and creativity. The class format will consist of lectures, student presentations, guest lectures, and class project presentations.

The prerequisite for this class is undergraduate operating systems. Some of the topics we will explore are: kernels, security, reliability and finding bugs, and distributed systems.


You are responsible for knowing about all announcements made in lecture. We will discuss expectations about the project, suggestions for how to succeed, and grading guidelines in class, and general class policy issues, so make sure you don't miss any lectures.

Readings, postings, and class participation

Reading list Lecture slides Course Videos
A major part of this course will be reading, analyzing, and discussing papers. We will cover one or two papers per lecture typically. Required readings for each class are posted on the class web site. For each required paper, your assignment is to read the paper carefully before the lecture and to post on the course newsgroup an insight or question about this paper. A good model is the comments and question that take place after someone presents a paper at a research conference. The postings can take many forms, for example, you could post any of the following:

  • What you appreciated about the paper
  • Where you felt the paper fell short
  • Future work that the paper inspired you to think of
  • Questions about the meaning of a section of the paper
  • Comparisons between the paper and another paper or approach for the same problem
  • Relationship between the problem being attacked in this paper and another problem
  • How the paper relates to another paper or approach
  • Speculation about how the author's idea would apply in a new situation
  • Something you wished the author had addressed
  • Assumptions in the paper that you disagree with and how you think different assumptions would affect the outcome
  • Answering another student's question or following up on another student's comments

Your posting need not be long; the ideal is a few thought-provoking sentences. You should submit your posting to the newsgroup no later than 11:59pm on the day before we discuss the paper. You need not post anything for the papers being discussed during the first week (January 18 and 20), so your first posting will be about the "Scale and Performance in the Denali Isolation Kernel" paper at 6pm on January 24.

Participating in the class discussions on each paper is an important part of the class. Lively participation by the entire class will help us all understand the material better and have more fun in the process.

You are required to submit thoughtful comments before each class. For classes where we discuss two papers, you must submit comments about at least one of the two papers to get credit. You are allowed two classes where you do not submit comments to the newsgroup before omissions start to affect your grade.

Class discussions

In class we will discuss the papers in two different phases. First, we will break into small groups (3-4 students) to discuss the papers for 10-15 minutes before we break into larger groups. This small group discussion will be guided by a set of questions given to you at the beginning of each class.

Online discussions

An important aspect of this class is discussing the material with other students in the class. To provide more opportunities for our online students to discuss papers, online and on campus students are encouraged to meet weekly to discuss the material from the class. Nominally these meetings take place using join.me and happen every Tuesday from 8-9pm CT. During this meeting time the professor and/or the TA will usually participate as well. In addition to the 8-9pm CT meeting time, students can setup alternative meeting times on this page.

The format for this discussion is very loose and can be defined as we try it out during the semester.

Note: This is not mandatory, it is meant as a way to help provide more opportunities for online students to discuss material.

Students (both online and on campus) can get credit for leading a class discussion by leading an online discussion. If you do want to get credit for leading an online discussion you have to lead the main online discussion on Tuesdays at 8-9pm. You can sign up to lead a discussion here, but you must get explicit permission from the professor prior to the presentation to get credit for your leading a class discussion.

Here is the technical information necessary to participate in the online discussions:

Connect a microphone and speakers (headset recommended) and then visit http://my.dimdim.com/uicsi2cs and join the meeting.

Paper presentations

During the semester you will present one paper to the class. Each LECTURE will have 1-3 presenters, sign up using the wiki (you can modify the reading list page directly). You can divide up the presentation responsibilities however you see fit and you will be graded as a group. Make sure at least one of the discussion leaders can attend class. You must present the paper(s) in a quals style where you assume everyone has read the paper, so you focus on the most important aspect of the work. You will also be responsible for clearing up any confusing aspects of the paper and for leading a discussion. For discussion topics, use the suggested newsgroup questions as a starting point for thinking about the type of things that would be useful for discussion. Here is a rough guideline for how to lead a discussion:

  • 5 minutes (max) of background material. Explain what this paper is about and why it is important. Remember, we can assume everyone has already read the paper so keep it short!
  • 10-15 minutes of related work. Discuss some other work that may be related to the papers you are presenting and tie them together to help give a historical context of the work.
  • 20 minutes small group discussion. Come up with several questions to pose to the class to spark discussions. We will discuss in small groups first.
  • 20 minutes class discussion. Based on the small group discussions, the class will vote on topics to discuss as an entire class.

The first paper available to students is "The multikernel: a new OS architecture for scalable multicore systems" on Feb. 3rd.

Note: You must turn in a rough draft of your slides to the professor by 4pm the night before your presentation and after the presentation you must submit a summary of what each student contributed to the presentation.

Please also note that you must still submit a newsgroup post as usual before your own presentation.

Research project

You will design and carry out a semester-long research project (done in teams). I hope that these projects will lead to published papers. The timeline for the projects is as follows:

  • February 1: inform me of your group's membership. Groups should generally consist of two people. Your project partner will have a substantial effect on your experience in this course, so choose carefully.
  • February 1: inform me of your project choice. This will be an email with a brief description of what you plan on doing for the semester.
  • February 17: project proposals are due (you can find more information here). Your proposal should state the problem your project will address, the motivation for why this is an interesting problem, the goal of your project, the relationship between your project and other work, the plan and methodology for your project, and the resources needed to carry out your project. Include a set of incremental milestones that you will achieve in carrying out the project and a schedule for meeting these milestones.
  • March 14, 16: Midterm meetings. Each group will meet with me to discuss your project with the class and talk about some of your preliminary results.
  • March 28: Midterm report due. You should have some preliminary results at this point and should include an introduction, related work, preliminary design, and expected final results.
  • April 20, 25, 27, and May 2: Project presentations. You can find more information about presentations here.
  • May 9: Final project due

Project groups should be 2-4 members and there can be a minimum of one on campus student per group unless explicit permission has been granted by the professor.

This semester I am not going to give out project ideas. You are responsible for coming up with a research idea by yourself, but I encourage you to start this process early and to solicit feedback from me.

For any part of the project you turn in, you must usenix two-column formatting. For an example, feel free to start from the latex template latex-template.tgz or you can use the latex template that I personally use for my papers (this one includes a makefile) latex-example.tgz. Note: You are required to use LaTeX in this class.

About Latex, for those of you who are not familiar with it, try to read tutorials like this: http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/

For windows users, we suggest using MikTeX or Cygwin, or http://www.latexeditor.org/index.html  that makes using LaTeX a little easier.

For Linux users, Kile is a handy tool and includes support for inverse and forward search .

Final exam

There will be no final exam for this class.

Grading (tentative)

Newsgroup postings and class participation: 20%
Paper presentations/discussion leading: 25%
Project: 55% (proposal 5%, midterm report 5%, peer grading 10%, final presentation 10%, final report and results 25%)

Grade scale

Grade Score
A [93,100]
A- [90,93)
B+ [87,90)
B [83,87)
B- [80,83)
C+ [77,80)
C [73,77)
C- [70,73)
D [60,70)
F [0,60)
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.