Keith J. O'Hara

teaching

CPSC 45

Operating Systems (F2025)

overview | logistics | schedule | edstem | labs | resources

Tentative Schedule (changes frequently)

week date topics readings TLPI work assigned
1
OS; UNIX
9/02/2025 course introduction syllabus; The Night Watch by James Mickens 1 UNIX Zine
9/04/2025 UNIX; OS The UNIX Time-Sharing System; Intro To OS 2
2
PROCESSES
9/08/2025 xv6; processes; debugging xv6 pp. 9-19 6; 24-27; 44 lab 1a
9/09/2025 processes; signals; shells process abstraction; process API 20 shell clab
9/11/2025 context switching; system calls limited direct execution; xv6 pp. 21-29; 47-48 3 tearing apart printf
3
SCHEDULING
9/15/2025 xv6; pipes lab 1b
9/16/2025 time; FIFO; SJF; STCF; Round-Robin basic schedulers 10 schedulers clab & presentation
9/18/2025 real schedulers; real-time; rusage MLFQ; lottery; multiprocessor; linux 35; 11 & 36
4
MEMORY I
9/22/2025 system calls xv6 pp. 21-29 lab 2
9/23/2025 address spaces memory abstractions; API 7 quiz 1; memory clab
9/25/2025 virtual memory I translation; segmentation 49; 50 efence clab
5
MEMORY II
09/29/2025 malloc free space management 7; 49 lab 3
09/30/2025 virtual memory II paging; TLB
10/02/2025 swapping; LRU swapping mechanisms & policies swap clab
6
MEMORY III
10/07/2025 malloc lab 3
10/7/2025 smaller page tables hyrbid & multi-level page tables; xv6 pp. 31-42
10/09/2025 first half summary xv6 pp. 43-55 quiz 2
7 10/13/2025 FALL BREAK
10/14/2025
10/15/2025
8
CONCURRENCY
10/20/2025 user-space threads 21 lab 6
10/21/2025 threads; signal handlers; timers thread abstraction & API 23 & 29
10/23/2025 synchronization lock implementation; 30
9
CONCURRENCY II
10/27/2025 asynch io; select event based concurrency 63 lab 7
10/28/2025 synchronization II; TSS condition variables; semaphores 31; 47; 53
10/30/2025 concurrent data structures and bugs data structures; common problems
10
PERSISTENCE
11/03/2025 lab 8
11/04/2025 I/O; DMA devices; disks 4 & 5 quiz 3
11/06/2025 files and directories 14
11
FILE SYSTEMS
11/10/2025 lab 9
11/11/2025 implementation file system implementation 15; 18
11/13/2025 locality fast file systems 13
12
ERRORS
11/17/2025 lab 10
11/18/2025 crash consistency FSCK and journaling
11/19/2025 SSDs; data integrity and protection
13
DEVICES
11/24/2025 ioctl; mmap 49 lab 11
11/25/2025 quiz 4
11/27/2025 THANKSGIVING
14
SECURITY
12/01/2025 lab 12
12/02/2025 security introduction; authentication 8; 9
12/04/2025 acess control 17
15
VIRTUAL MACHINES
12/08/2025 38 lab 13
12/09/2025 virtual machine monitors; libraries 41&42 quiz 5
16
FINAL
12/14/2025 FINAL EXAM PERIOD 9AM (TBD)