This class is directed at graduate students seeking a deeper understanding of operating systems. We will cover classical topics and algorithms from operating and distributed systems, and also look at recent trends in operating systems research. This class is particularly targeted at graduate students wanting to pursue systems research. Students are encouraged to submit topics that interest them for inclusion in the class.
The course format will be a mix of lectures, a semester-long project, and student research paper presentations.
Students will complete a term project, which can either take the form of a programming project or a survey paper on a research area. Every student is required to give a final presentation for their project or paper.
Dr. Ali R. Butt
By appointment only
Saim Ahmad, firstname.lastname@example.org
Online on Zoom Synchronous
TR 2:00pm-3:15pm (virtual)
Dec 12, 1:05PM to 3:05PM (virtual)
This class is offered to graduate students interested in systems research. We expect that you are familiar with basic operating systems ideas and principles, and that you have a proficient programming background (preferably in C).
We will be mainly use research papers to discuss latest research in operating systems design.
We will also use the following book for reference:
Operating Systems: Three Easy Pieces
Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
For other reading:
Tanenbaum, van Steen. Distributed Systems: Principles and Paradigms. 2nd Edition.
Prentice Hall. ISBN-10: 0-132-39227-5
Silberschatz, Galvin, Gagne. Operating System Concepts. 7th Edition.
John Wiley & Sons, Inc. ISBN 0-471-69466-5
The course work consists of lectures, student presentations, programming projects, and class participation in the discussions.
Late Policy In lieu of a late policy, you will have four wildcards. That is, you may skip the class activities 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.
Research Paper Presentation: Each student will present 1 to 2 research papers in the class. The papers will be selected from a list of papers provided by the instructor. Students will be responsible for making their own slides for the paper. Use of presentation slides from the authors of the paper is not allowed.
Class participation/attendance: Students are expected to engage in the discussion about research papers. Students should plan to read all of the papers and come prepared with questions to ask the presenters. Attendance will not be taken.
Project: The class includes a term-long programming project of your choice related to the topics covered in class. 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. All such meetings will be virtual.
Final Presentation: All teams are required to do a final 20 minute presentation that summarizes the results of their survey paper or programming project.
Class presentations will not be recorded for later distribution.
A tentative grading distribution is as follows. It may change based on class discussions and complexity of projects undertaken by the class.
Class discussion participation
Research paper presentations
Completed SPOT survey
We will use 10-point grading scale which is listed below. Grading will be on a curve (including current students' data as well data from prior offerings of the class).
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.
For additional information about the Honor Code, please visit:
Students with Disabilities
If you need adaptations or accommodations because of a disability (learning disability, attention deficit disorder, psychological, or physical), if you have emergency medical information to share with the instructor, or if you need special arrangements in case the building must be evacuated, please meet with the instructor as soon as possible.
Virginia Tech is committed to protecting the health and safety of all members of its community. By participating in this class, all students agree to abide by the Virginia Tech Wellness principles.
To uphold these principles, in this class you must do the following:
- Wear a face covering during class, including as you enter and exit the classroom
- Maintain the designated distancing guidelines of the classroom
- Enter and exit the classroom according to posted signage
If you are exhibiting even the slightest sign of illness, you must not attend an in-person class. Notify me by email and follow the instructions posted at https://vt.edu/ready/health.html#tips.
The class has no requirement for in-person interactions. All interactions, i.e., class lectures, group meetings, 1:1 meetings with the instructor, and any other meetings suggested in the above are expected to take place virtually.
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.