Course Overview

This is a graduate course in the theory and practice of operating system design and implementation. We will discuss a wide variety of advanced technical concepts found in the field of operating systems, including (often somewhat older) seminal papers and more recent (hot) topics. These topics will include memory management, storage and file systems, concurrency, virtualization, distributed systems, and mobile/embedded systems. The course focuses on advanced topics in operating systems and it is assumed that students have already taken a rigorous undergraduate course in operating systems. The course also emphasizes essential skills for a new researcher, including literature research, reading, analyzing, and discussing research papers, communicating research ideas, etc. The course also includes a semester-long project in the area of systems. The prerequisites for this course are graduate standing or consent of the instructor, an undergraduate class in operating systems (e.g., CSE30341 at Notre Dame), and proficiency in a systems programming language such as C, C++, or Java.

The goals for each student in this course are:
  • Describe and evaluate advanced concepts in operating systems design and implementation (using course readings and evaluated in midterm and final).
  • Compare and contrast competing architectures and implementations of operating system components (using class discussions, evaluated in midterm and final).
  • Describe important historical developments in operating systems in terms of architectural philosophies, influental personalities, and well-known systems (using readings and discussions, evaluated in midterm, final, annotated bibliography, draft paper, and final paper).
  • Design and evaluate a small piece of operating systems research with some guidance (project milestones).
  • Effectively communicate research results, both orally and in writing (class discussions, progress reports, draft and final paper, final presentation).

The course does not use a textbook; instead, students will read a selection of research papers. Each class period will involve lecture and discussion on the papers assigned for that day. Every student must be prepared to discuss the papers assigned each class period.

Course Information:

  • Instructor: Christian Poellabauer
  • - Office hours: Tue 1-2pm & Thu 11am-12pm & by appointment
  • - Office: 323B Cushing Hall
  • - Email:

  • TA: Sudip Vhaduri (
  • - Office hours: Tue 11am-12pm & Thu 1-2pm
  • - Location: 212 Cushing Hall

  • Class location: 356 Fitzpatrick Hall
  • Lecture times: Tuesday/Thursday 9.30-10.45am

News Items:

  • - There is no TA office hour on 10/6!
  • - There is no instructor's office hour on 8/30!
  • - There is no instructor's office hour on 9/20!