Computer Science 5204

Operating Systems

Fall 2006

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

 

Monday 10-11am in 618 McBryde

Thursday 2-3pm in 227 KWII (CRC)

Please email for appointments outside these hours

TBA

 

MWF 11:15am-12:05pm in 328 McBryde

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

Available on Blackboard @ http://learn.vt.edu/

 

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

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

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

 

Optional reference:

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

Prentice Hall. ISBN 0-130-88893-1


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 two in-class midterms 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 six wildcards for both the paper and speaker evaluations. That is, you may skip the evaluations that are due on six 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 two warm-up projects, and a term-long programming project of your choice related to the topics covered in class. Warm-up projects are 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 posted list.

 

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

150

Second midterm

150

Paper evaluation

100

Research paper presentation

100

Class projects:

 

  warm-ups

100

  term-project

300

Final project presentation

100

 

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.