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: Suraj Mishra (
  • - Office hours: Tue 6.30-7.30pm & Fri 10-11am & by appointment
  • - Location: 213 Cushing Hall

  • Class location: 125 DeBartolo Hall
  • Lecture times: Tuesday/Thursday 9.30-10.45am

News Items:

  • - On 9/28, each project team will present three slides about their proposed project: problem statement (1 slide), idea/solution (1 slide), details (1 slide).