CS 519: Operating System Theory

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

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?) project-intensive course with an aim towards learning Systems (OS) research (additional materials).


  • 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: This course is a project-intensive course. We will have three or four small homework coding projects and a semester-long research project. The homework projects must be solved independently.
  • 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: There will be two exams -- midterm and finals. The exams will be based on lectures, papers, and homeworks.

Class News

More Soon!

Tentative Schedule

Component Topic Paper 1 Paper 2
OS Scalable OS Introduction to Scaling Linux Scalability on 48 Cores
OS Scalable Applications Apache Spark Tensor Flow


  • Midterm - 10%
  • Finals - 15%
  • Homeworks - 30%
  • Semester-long Project - 35%
  • Paper Reviews - 10%
  • Extra Credits (Class participation) - 10%