CS 416: Operating Systems Design (Spring 2021)

CS Department, Rutgers -- The State University of New Jersey

Welcome to CS 416 OS Design Course! This course will introduce you to the principles of Operating system design. The course will be a project-intensive course.

Basic Information

  • Lecture: Mon, Thu
  • Time: 12:00 pm - 1:20 pm
  • Location: Zoom (Please see Sakai)
  • Instructor: Sudarsun Kannan
  • Office: Zoom (Please see Sakai)
  • Office Hours Monday, 11:00am - 12:00pm

TA Hours

  • Shaleen Garg (shaleen.garg@rutgers.edu) - Tue 9:30am - 10:30am
  • Daniel Kim (dk844@scarletmail.rutgers.edu) - Fri 1pm - 2pm

Recitaion Instructors

  • Sec01 : Mon 1:55pm - 2:50pm
  • Sec02 : Thur 1:55pm - 2:50pm (Shaleen Garg)
  • Sec03 : Tues 10:35am - 11:30am (Shaleen Garg)


  • This course is designed for students who understand Systems programming.
  • We will use Operating Systems: Three Easy Pieces, which is freely available online. Note: We will at times cover more advanced topics. We will provide you the materials to understand the advanced topics.
  • Topics: See tentative schedule below.
  • Exams: Two exams -- Midterm (25%) and Finals (25%)
  • Projects: Four coding projects (40%), maximum group size of 2 students. You are welcome to work in groups or alone.
  • Assignments: ~4 short assignments (10%). Assignments vary from Sakai quiz to simple programming exercise.
  • Lectures: Recorded lectures will be made available through Sakai.
  • Piazza: We will use piazza for answering questions about projects and other offline discussions.
  • Communication: For email queries, please CC instructors and all TAs for faster response. Please add a [CS 416] prefix to your email's subject.


  • Students are welcome to attend any of the three recitations.
  • We will update FAQs as we encounter more questions.

Class News

Self Assessment Quiz up, not graded
Project1 posted up, Feb 15, 2021 11:55 pm

Syllabus and Tentative Scheduler

Topic Lecture 1 Lecture 2
Virtualization 01/21 Intro [code] 01/25 CPU virtualization (chapters 4, 5)
Schedulers 01/28 CPU virtualization (chapters 5, 6) 02/01 - 02/04 Schedulers (chapters 7-11)
Virtual Memory 02/8 Virtual memory 02/X Paging
Virtual Memory 02/X TLB 02/X Superpages
Synchronization Threads Locks
Synchronization Semaphores Deadlocks
Midterm Exam in Class
I/O I/O Devices RAID
File System File System Basics File System Impl.
File System Fast File System
Crash Consistency Journaling LFS
Distributed Systems MapReduce Google File System
Acclerators and Trends TBA TBA
Final Exam (Using Sakai)