Course Schedule

The following is a tentative schedule for the course (subject to change).

Topic Deadlines & Materials
Week 1: August 21 – 27

Operating Systems Overview

Kernel-Based Virtual Machines (KVM)

  • Lab 0 Due ⋅ August 25

Week 2: August 28 – September 3

Remembering how to C

C-Ing Double, Quiz Prep, Lab

  • Lab 1 Due ⋅ August 30

  • Lab 2 Due ⋅ September 2

Week 3: September 4 – 10

Daemons, Processes, and Threads

Touring procfs

Lab: Reading Lines

  • Lab 3 Due ⋅ September 9

  • Quiz 1 ⋅ September 8

Week 4: September 11 – 17

System Calls

System Call Lab, Project 1

Lab: CPU Usage, Tasks

  • Reading: OSTEP Ch 6
Week 5: September 18 – 24

Containers

Task List

Lab: Task List

  • Lab 4 Due ⋅ September 23

  • P1 Checkpoint Due ⋅ September 21

Week 6: September 25 – October 1

Inter-Process Communication

Pipes

Lab: Signals & Pipes

  • Project 1 Due ⋅ September 28

Week 7: October 2 – 8

Building a Shell

  • Lab 5 Due ⋅ October 7

  • Quiz 2 ⋅ October 4

Week 8: October 9 – 15

CPU Scheduling

  • P2 Checkpoint 1 Due ⋅ October 13

Week 9: October 16 – 22

Tues: No class, fall break!

CPU Scheduling

  • Lab 6 Due ⋅ October 21

Week 10: October 23 – 29

Multi-Level Feedback Queues

CPU Scheduling Lab

  • P2 Checkpoint 2 Due ⋅ October 24

Week 11: October 30 – November 5

Tues: Project Work Day

Thurs: CPU Scheduling Lab

Fri: Lab Cancelled

  • Lab 7 Due ⋅ November 4

  • Quiz 3 ⋅ November 3

  • Project 2 Due ⋅ November 2

Week 12: November 6 – 12

Memory Allocation

Week 13: November 13 – 19

Segmentation

Paging

Week 14: November 20 – 26

File Systems

Thurs, Fri: no class, Thanksgiving break!

  • P3 Checkpoint Due ⋅ November 23

Week 15: November 27 – December 3

Files and Disks

Disk Scheduling & SSDs

  • Lab 8 Due ⋅ November 30

  • P2 Code Review Due ⋅ December 1

Week 16: December 4 – 10

Course Wrap-up

  • Quiz 4 ⋅ December 6

  • Project 3 Due ⋅ December 7

Week 17: December 11 – 17

Final Quiz: Thursday, December 15 ⋅ 3:00 pm – 5:00 pm