CS 416 and CS 518: Operating Systems Design (Spring 2023)

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: Zoom until Jan 31st (Please see Canvas)
  • Instructor: Sudarsun Kannan
  • Office: Zoom until Jan 31st (Please see Canvas)
  • Office Hours Fridays, 10am-11am (same Zoom link as lecture)

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 1/18 Intro [code] 1/23 CPU virtualization (Chapters 4, 5)
CPU Virtualization 01/25 CPU virtualization (chapters 5, 6, 7) 01/30 Warmup Project 1, Due 02/13
Schedulers 01/30 Schedulers (chapters 7-11) 02/01 Schedulers Continued (chapters 7-11)
Short Online Quiz Virtualization and Schedulers
Virtual Memory 02/06 Virtual memory 02/08 Paging
Virtual Memory 02/13 Paging
Virtual Memory 02/XX TLB 02/XX 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