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 9

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

  • Project 1 Due ⋅ September 28

Week 7: October 2 – 8

Building a Shell

Signals and Pipes

  • Quiz 2 ⋅ October 5

  • P2 Checkpoint 1 Due ⋅ October 7

Week 8: October 9 – 15

CPU Scheduling

  • P2 Checkpoint 2 Due ⋅ October 14

Week 9: October 16 – 22

Tues: No class, fall break!

CPU Scheduling

  • Project 2 Due ⋅ October 21

Week 10: October 23 – 29

Multi-Level Feedback Queues

  • Quiz 3 ⋅ October 26

Week 11: October 30 – November 5

CPU Scheduling Lab

Week 12: November 6 – 12

Memory Allocation

Week 13: November 13 – 19

Segmentation

Paging

  • Quiz 4 ⋅ November 16

Week 14: November 20 – 26

File Systems

Thurs, Fri: no class, Thanksgiving break!

Week 15: November 27 – December 3

Files and Disks

Disk Scheduling & SSDs

Week 16: December 4 – 10

Course Wrap-up

  • Quiz 5 ⋅ December 7

Week 17: December 11 – 17

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