CS 519: Operating System Theory

Rutgers, The State University of New Jersey
Department of Computer Science
Fall 2021

Welcome to Operating Systems Course! This course will introduce you to the principles of traditional, current, and futuristic Operating systems. This will be a (fun?) course where we will learn how to modify, build, and measure Linux OS and additionally on how to introduce new ideas to OS. .

First class will be online. See Canvas annoucement(here) for zoom link.


  • This course is designed for graduate students who already understand OS fundamentals. We will spend some time in the class to refresh the basics. Additionaly, the reference book, Operating Systems: Three Easy Pieces, is a great book for learning the fundamentals. We strongly suggest self-learning the basics as early as possible.
  • Topics: We will discuss the following topics (tentative): OS structure, virtual memory management, file system design, threads and scheduling, virtualization, and distributed systems.
  • Structure: For each topic, we will discuss seminal papers and ideas, current influential papers, and future research trends.
  • Papers: Students must read the assigned paper before the class and submit either a short review or solve problems posted in Sakai. The reviews must have at least three paragraphs describing the basic idea of the paper, technical design, and limitations of the paper. Please use Sakai to submit the reviews (look for [Paper Review #] to submit the reviews).
  • Homework: We will have three or four small homework coding projects and a semester-long research project (with an option to just work on regular homeworks).
  • Semester Project: The goal is to work on a research idea and write a short workshop paper. Working in a group of two or three students is perfectly acceptable, and you can pick your project partner too! You are welcome to propose your ideas; I will also help with topics. Ph.D. students can also extend their ongoing research with a separate OS/Systems deliverable.
  • Exams: While exams are critical for learning, as opposed to the traditional exam (like CS 416), this year, our midterm and final exam will have performance debugging, bug fixing, and conceptual design challenges to increase learning that you can use in the real world.

Class News

More Soon!

Tentative Schedule

Component Topic Paper 1 Paper 2
OS Design OS Basics and Scalability Exokernel Microkernel


  • Midterm - 10%
  • Finals - 10%
  • Homeworks - 40%
  • Semester-long Project - 25%
  • Paper Reviews - 10%
  • Extra Credits (Class participation) - 5%