Computer Science 5204

Operating Systems

Fall 2008

Overview

The main objective of this class is to create a deeper understanding of operating systems concepts and principles, and it is particularly designed for graduate students who want to pursue systems research. The covered topics encompass classical operating and distributed systems concepts, as well as explore the state-of-the-art in operating systems research. All students are required to complete a term project, and present assigned research papers.

Course information

Instructor:

E-mail:

Phone:           

 

Office Hours:

 

 

Teaching Assistant:

 

 

 

Meeting Time:

Class Web Page:

Discussion Forum:

Dr. Ali R. Butt

butta@cs.vt.edu

1-0489

 

Thursday 10-11am in 227 KWII (CRC)

Please email for appointments outside these hours

 

Henry Monti

hmonti@cs.vt.edu

Office hrs: W 1-2pm KWII (CRC)

 

TTh 2:00pm-3:15pm in 216 McBryde

http://courses.cs.vt.edu/~cs5204/fall08-butt/

Available on CS forums

 

Prerequisites

This is an introductory graduate level course and is aimed at students interested in systems research. Basic knowledge of operating systems concepts, algorithms and data structures, and relevant programming proficiency is assumed.

 

Textbook

Tanenbaum, van Steen. Distributed Systems: Principles and Paradigms.

2nd Edition

Prentice Hall.

ISBN-10: 0-132-39227-5

ISBN-13: 978-0132392273

http://www.cs.vu.nl/~steen/books/ds2/

 

Optional reference:

Silberschatz, Galvin, Gagne. Operating System Concepts. 7th Edition.

John Wiley & Sons, Inc. ISBN 0-471-69466-5

 

In addition to the textbook, research papers will also be assigned for student presentations and discussion.

 

Format

The course work consists of exams, student presentations, programming projects, and class participation in the discussions.

 

Midterm: There will be one in-class midterm on 10/14/2008, based on the material (lectures/papers) covered in class.

 

Paper and presentation evaluations: All students are required to read and evaluate the papers that are being discussed in class in advance. A paper evaluation form is available at the class website. Your evaluation should address the questions on this form. You will submit your evaluation forms (limited to one page) at the beginning of class. In addition to evaluating the paper, you will evaluate the speakers' presentations during class and submit a short written evaluation (one for each speaker) at the end of class.

 

In lieu of a late policy, you will have four wildcards for both the paper and speaker evaluations. That is, you may skip the evaluations that are due on four different dates without losing any credit. You need not ask for permission to do so in advance. However, you are still responsible for the material covered in class for the purposes of exams.

 

Paper presentation: Every student will prepare a 25 minute presentation on an assigned research paper. Your presentation should contain two parts: one in which you present the work as if it were your own, and a second part in which you present your evaluation of the work. You will meet with the instructor or TA before your presentation to discuss your slides. You must have a complete draft of your slides ready by that time.

 

Project: The class includes one warm-up project, and a term-long programming project of your choice related to the topics covered in class. The warm-up project is completed individually, where as students can work in teams for the term project. The term project can take multiple forms. For instance, your team may design, prototype, and evaluate a small system that solves a distributed programming problem. Or you may design a project that evaluates an existing system’s suitability for a particular purpose. Or you may add an extension to a system like Linux. You are encouraged to come up with your own ideas for a project, or choose from a list provided by the instructor.

 

Students will submit a 2 page project proposal that should outline the project. The proposal should explain what problem you are addressing and the relevance of that problem. You should outline what infrastructure (software and/or hardware) you will be using for that project and how you expect to evaluate your results. You will need to define what deliverables your project will have. To ensure progress towards the completion of your project or paper, your team will meet with the instructor during certain milestones, which will be posted on the class website. Those meetings are mandatory for full credit on the project.

 

Final Presentation: All teams are required to do a final 20 minute presentation that summarizes the results of their survey paper or programming project. 

 

Grading

First midterm

2.5

Paper evaluation

1.0

Research paper presentation

1.0

Class projects:

 

  warm-up

1.0

  Term-project

3.5

Final project presentation

1.0

 

Honor Code

All work is conducted under the rules of the university Honor Code. This code and other relevant policies are described in detail on the class web pages.