CPSC 331 Operating Systems Spring 2026

CPSC 331 Schedule

Readings are listed on the schedule page on the day when they will be discussed in class. "OSTEP" refers to the textbook (Operating Systems: Three Easy Pieces). Readings are the first introduction for most material — it often takes more than one encounter to fully absorb something, and class time is more effective if it can be used to fill in the gaps and answer questions about things you have already started to think about. You are encouraged to complete the assigned reading before class to identify the main ideas and note questions, and then revisit the reading after class to more fully understand the material.

Dates for things in light gray are for planning purposes and are subject to change.

 Assignments

Week 1: 1/21-1/23

Topics: course introduction; introduction to OS; introduction to C

 

Wed Materials from class: introductory survey
(on Canvas)
   

Fri Reading:
  • OSTEP 1 (Dialogue)
  • OSTEP 2 (Introduction)
Materials from class: Reference:
  • Dive into Systems, in particular
    • Appendix 1: Chapter 1 for Java Programmers
    • Chapter 2: A Deeper Dive Into C
    • Appendix 2: Using Unix (largely sections 17.1, 17.2, 17.5, but feel free to explore more)
  • C for Java Programmers
  project 1
Unix Utilities

due Wed Feb 4

Week 2: 1/26-1/30

Topics: processes

 

Mon Reading:
  • OSTEP 3 (Dialogue)
  • OSTEP 4 (Processes)
  • OSTEP 5 (Process API)
Materials from class:
   

Wed Reading:
  • OSTEP 6 (Direct Execution)
Materials from class:
   

Fri Materials from class:    

Week 3: 2/2-2/6

Topics: processes, scheduling

 

Mon Materials from class:    

Wed Reading: Materials from class:   project 2
Unix Shell

due Wed Feb 18
 

Fri Reading:
  • OSTEP 8 (Multi-level Feedback)
Materials from class:
homework 2

due Fri 2/13
 

Week 4: 2/9-2/13

Topics: scheduling; address translation

 

Mon Reading:
  • OSTEP 9 (Lottery Scheduling)
Materials from class:
 

Wed Reading:
  • OSTEP 12 (Dialogue)
  • OSTEP 13 (Address Spaces)
  • OSTEP 14 (Memory API)
Materials from class:
 

Fri Reading:
  • OSTEP 15 (Address Translation)
Materials from class:
homework 3

due Fri 2/20

(updated!)
 

Week 5: 2/16-2/20

Topics: memory management and paging

 

Mon Reading:
  • OSTEP 16 (Segmentation)
Materials from class:
 

Wed Reading:
  • OSTEP 18 (Introduction to Paging)
Materials from class:
   

Fri Reading:
  • OSTEP 19 (Translation Lookaside Buffers)
Materials from class:
  • slides: paging (paging, TLBs)
homework 4

due Fri 2/27
 

Week 6: 2/23-2/27

Topics: paging

 

Mon
exam
  revise-and-resubmit for hw2

due Mon 2/23

Wed Materials from class:
  • slides: paging (TLBs, smaller page tables)
 

Fri Reading:
  • OSTEP 20 (Advanced Page Tables)
Materials from class:
  • slides: paging (smaller page tables, handling OS memory)
homework 5

due Mon 3/9

Week 7: 3/2-3/6

Topics: xv6

 

Mon Materials from class: project  

Wed *** meet in Gulick 213 *** (bring a laptop if you have one)  

Fri homework  

Week 8: 3/9-3/13

Topics:

 

Mon  

Wed  

Fri homework  

Spring Break: 3/14-3/22


Week 9: 3/23-3/27

Topics:

 

Mon project

Wed  

Fri homework  

Week 10: 3/30-4/3

Topics:

 

Mon
exam
 

Wed  

Fri homework

Week 11: 4/6-4/10

Topics:

 

Mon project  

Wed  

Fri homework  

Week 12: 4/13-4/17

Topics:

 

Mon  

Wed  

Fri homework  

Week 13: 4/20-4/24

Topics:

 

Mon
exam
project  

Wed HWS Day (no class)  

Fri homework  

Week 14: 4/27-5/1

Topics:

 

Mon  

Wed  

Fri  

Week 15: 5/4

Topics:

 

Mon      

Reading Period: 5/5-5/7

 

Tue      

Wed      

Thu      

Exams: 5/8-5/11

 

Fri      

Sat      

Sun      

Mon
exam 7-10pm
end of semester deadline
no work accepted after 10pm