Time: 12:30 - 1:45 W/F
Place: 1304 SC
Instructor: Sam King
Email: Sam King
Office: 4306 Siebel Center
Office hours: 2-3 Wed, 2-3 Fri and by appointment
Phone: (217) 244-0216
TAs: Hui Xue and Chris Grier (please put CS523 in the subject for a quicker response!)
Office: 0207 SC
Office Hours: Mon 1pm-2pm & Wed 7:30pm - 8:30pm
Jabber IM: firstname.lastname@example.org
please use this email from now on, Sam and TAs will be able to see the emails at the same time, which makes the reponse faster.
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: virtualization, security, reliability and finding bugs, abstractions and interfaces, and storage and file 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.
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 6pm on the day before we discuss the paper. You need not post anything for the papers being discussed during the first week (January 21 and 23), so your first posting will be about the "A Safety-Oriented Platform for Web Applications" paper at 6pm on January 27.
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.
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.
To facilitate online students we will leave the microphone with one of the groups so you can listen in on the discussion. However, we are looking into better ways to foster small discussions for online students. Two of the ideas we are thinking about are (1) using laptops and skype so that you can interact with in class students in real time and (2) facilitating online meetings during non-class time for off campus students. Please work with the TAs to help us figure out the best way to foster discussions for online students.
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 TeamSpeak (more information on how to sign up soon) and happen every Thursday from 9-10pm CT. During this meeting time the professor or one of the TAs will usually participate as well. In addition to the 9-10pm 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 Thursdays at 9-10pm. You can sign up to lead a discussion here.
-To attend the Thursday evening online GoToMeeting sessions, students will need to go to the following URL:
-To request TeamSpeak accounts, please have students e-mail email@example.com. Their login name will be their netID, and they can request a password--otherwise we will assign a password and notify them of it once their account is created. Other TeamSpeak information is here:
During the semester you will present one paper to the class. Each LECTURE will have one or two 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!
5 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.
30 minutes small group discussion. Come up with several questions to pose to the class to spark discussions. We will discuss in small groups first.
30 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 "Overshadow: A Virtualization-Based Approach to Retrofitting Protection in Commodity Operating Systems" on Feb. 4th.
Note: You must turn in a rough draft of your slides to the professor by 6pm the night before your presentation
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 4: 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 4: 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 18: project proposals are due (you can find more information here and in the "eraser" lecture). 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.
April 1 April 3April 6: Midterm report due. You should have some preliminary results at this point and should include an introduction, related work, preliminary design, expected results, and possibly some preliminary results.
- April 24, 29, May 1, and May 6: Project presentations. You can find more information about presentations here.
- May 11: Final project due
Project ideas are posted on the course website here. Many of the ideas are fairly vague; an important part of a research project is defining the problem. You are welcome to propose a project that is not on the list and I encourage you to tie your research into the course project. Feel free to talk with me, or others, as you formulate your ideas.
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/
There will be no final exam for this class.
Newsgroup postings and class participation: 20%
Paper presentations/discussion leading: 30%
Project: 50% (proposal 5%, midterm report 10%, presentation 10%, final report and results 25%)