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 2/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 2/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; virtual memory and swapping

 

Mon Materials from class: project 3
xv6 System Call

due Fri 3/13
 

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

Fri Reading:
  • OSTEP 21 (Swapping: Mechanisms)
  • OSTEP 22 (Swapping: Policies)
Materials from class:
 

Week 8: 3/9-3/13

Topics: virtual memory and swapping

 

Mon Reading:
  • OSTEP 22 (Swapping: Policies)
  • OSTEP 23 (Complete VM Systems)
Materials from class:
homework 6

due Fri 3/27
 

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

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

Spring Break: 3/14-3/22


Week 9: 3/23-3/27

Topics: concurrency: threads, locks

 

Mon Reading:
  • OSTEP 25 (Dialogue)
  • OSTEP 26 (Concurrency and Threads)
  • OSTEP 27 (Thread API)
project

Wed Reading:
  • OSTEP 28 (Locks)
 

Fri Reading:
  • OSTEP 29 (Locked Data Structures)
homework  

Week 10: 3/30-4/3

Topics:

 

Mon
exam
  • review information (to be posted)
revise-and-resubmit for hw3, hw4, hw5

due Mon 3/30

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