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 and emerging) topics. Such 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, and programming experience.

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 via midterm and final exams).
  • Compare and contrast competing architectures and implementations of operating system components (using class discussions, evaluated via midterm and final exams).
  • Describe important historical developments in operating systems in terms of architectural philosophies, influental personalities, and well-known systems (using readings and discussions, evaluated via midterm and final exams, 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 Structure

The course will take place primarily in person, but could change to online or hybrid teaching depending on the course of the pandemic and guidance provided by university leaders. In all cases, the will follow a flipped approach, where students will read one or more papers in preparation for each lecture and the lecture is then used to discuss certain relevant aspects and details of these papers.

Course Details:

  • Instructor: Christian Poellabauer
  • - Office hours: TUE 10-11am, WED 11am-12pm, and by appointment
  • - Office: CASE 383
  • - Email:

  • Class location: Paul Cejas Architecture 165
  • Lecture times: Tuesday/Thursday 8.00 - 9.15AM

Health and Safety Protocols:

Students must comply with all University health and safety protocols, including:
  • - Daily and before arriving to campus, complete the P3 app. If you are not given the green check mark to enter campus, then return home, and contact the instructor by email.
  • - If you do not feel well, have tested positive for COVID-19, or have been in contact with a person with COVID-19 while not yet being fully vaccinated, please do not come to class, immediately complete the P3 app to notify the COVID Response Team or call them at 305-348-1919, and contact the instructor by email as soon as you can. In order to receive an excused absence for P3 failure/COVID-19, you must contact the COVID Response Team at 305-348-1919.
  • - If you are directed to isolate or quarantine because of COVID-19, your absences will be considered excused. The instructor will discuss make-up opportunities with you.