Course Schedule

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

Topic Deadlines & Materials
Week 1: Aug 23 - 27

Operating Systems Overview

Kernel-Based Virtual Machines (KVM)

Lab: Finish VM Setup

Week 2: Aug 30 - Sep 3

Remembering how to C

Booting Up

Lab: lineread

Week 3: Sep 6 - 10

Daemons, Processes, and Threads

Touring procfs

open_path, dynamic_lineread

Week 4: Sep 13 - 17

Calculating CPU Usage

System Calls

Lab: sorting, realloc

  • Reading: OSTEP Ch 6
Week 5: Sep 20 - 24

Inter-Process Communication

Project Q&A, Help

  • Thursday and Friday
  • Video
Week 6: Sep 27 - Oct 1

Pipes

Lab: System Calls

Week 7: Oct 4 - 8

Shell Project Intro

CPU Scheduling

Week 8: Oct 11 - 15

CPU Scheduling, Part II

Multi-Level Feedback Queues

Lab: Finishing CPU Scheduling

Week 9: Oct 18 - 22

Tues: No class, fall break!

Threads

Week 10: Oct 25 - 29

Condition Variables and Semaphores

Week 11: Nov 1 - 5

P2 Work Week!

Week 12: Nov 8 - 12

Memory Allocation

Segmentation

Week 13: Nov 15 - 19

Paging

Memory Allocation

Week 14: Nov 22 - 26

File Systems

  • Quiz 4: November 23
Week 15: Nov 29 - Dec 3

Files and Disks

Week 16: Dec 6 - 10

Disk Scheduling and SSDs

  • Exam 5: December 7
  • Project 3 Due ⋅ December 10