Course Schedule

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

Topic Materials
Week 1: August 17 – 23

Introduction, OS Basics

Week 2: August 24 – 30

Exploring the OS, Remembering How to C

Booting Up

Week 3: August 31 – September 6

Monday: Labor Day

Misc announcements, libc

Week 4: September 7 – 13

Processes and Daemons

System Calls

Week 5: September 14 – 20

Program Loader, Scripting

Inter-Process Communication

Week 6: September 21 – 27

Strace Discussion

Pipes

Week 7: September 28 – October 4

Finishing Pipes

Week 8: October 5 – 11

Building a Shell

CPU Scheduling: Introduction

Week 9: October 12 – 18

Monday: Fall Break

Basic Scheduling Algorithms

Week 10: October 19 – 25

Finishing Basic Scheduling

Pipe Lab

Week 11: October 26 – November 1

Multi-Level Feedback Queues

Memory Allocation

Week 12: November 2 – 8

Segmentation

Paging

Week 13: November 9 – 15

Memory Allocation

Quiz Study Guide

Memory Allocator

Week 14: November 16 – 22

Revisiting Mapped Memory

Week 15: November 23 – 29

File Systems

Files and Disks

Week 16: November 30 – December 6

Disk Scheduling & SSDs

Week 17: December 7 – 13

Final Quiz: Monday, December 8 ⋅ 10:00am – 10:30am