CS 416 and CS 518: Operating Systems Design (Fall 2024)

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

Welcome to CS 416 and CS 518 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, Wed; Time: 5:40pm - 7pm
  • Location: TIL-257 (Livingston)
  • Instructor: Sudarsun Kannan
  • Office: CoRE 311
  • Office Hours Monday 2pm - 3pm (tentative)

Book

Overview

  • This course is designed for students who understand Systems programming.
  • We will use Operating Systems: Three Easy Pieces. We might cover advanced topics, for which we will provide materials.
  • 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 (please join!)
  • Communication: For email queries, please CC instructors and all TAs for faster response. Please add a [CS 416] or [CS 518] prefix to your email's subject.
  • CS 416 vs. CS 518 The course content and the syllabus is same for both classes. CS 518 (graduate) students would likely have additional components for exams, projects, and quizzes. In addition, CS 518 students will only have full letter grades (A, B, C, D, F).

FAQs

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

Class News

Syllabus and Tentative Scheduler

Topic
Virtualization Intro [code] CPU virtualization (Chapters 4, 5)
CPU Virtualization CPU virtualization (chapters 5, 6, 7) Warmup Project 1
Schedulers Schedulers (chapters 7-11) Schedulers Continued (chapters 7-11)
Short Online Quiz Virtualization and Schedulers
Virtual Memory Virtual memory Paging
Virtual Memory Paging
Virtual Memory TLB Superpages
Short Online Quiz Memory Management
Synchronization Threads Locks
Synchronization Semaphores Deadlocks
Midterm Exam (TBA)
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