teaching
CPSC 45
Operating Systems (F2025)
overview | logistics | schedule | edstem | assignments | resourcesTentative Schedule (changes frequently)
week | date | topics | readings | tip | work assigned |
1 OS/UNIX |
9/02/2025 | course introduction | syllabus; The Night Watch by James Mickens | UNIX Zine | |
9/04/2025 | UNIX; OS | The UNIX Time-Sharing System; Intro To OS | |||
2 PROCESSES |
9/08/2025 | xv6; shells; pipes | xv6 pp. 9-19 | lab 1 | |
9/09/2025 | processes | process abstraction; process API | |||
9/11/2025 | context switching; signals | limited direct execution; signals | |||
3 SCHEDULING |
9/15/2025 | scheduling simulation; system calls | xv6 pp. 21-29 | lab 2 | |
9/16/2025 | FIFO; SJF; STCF; Round-Robin | basic schedulers | |||
9/18/2025 | advanced schedulers | MLFQ; lottery; multiprocessor | |||
4 MEMORY I |
9/22/2025 | lab 3 | |||
9/23/2025 | address spaces | memory abstractions; API | quiz 1 | ||
9/25/2025 | translation and segmentation | translation; segmentation | |||
5 MEMORY II |
09/29/2025 | free space management | lab 4 | ||
09/30/2025 | virtual memory | paging; TLB | |||
10/02/2025 | advanced paging; swapping | smaller tables; swapping mechanisms & policies | |||
6 |
10/07/2025 | page replacement simulation | lab 5 | ||
10/7/2025 | |||||
10/09/2025 | quiz 2 | ||||
7 | 10/13/2025 | FALL BREAK | |||
10/14/2025 | |||||
10/15/2025 | |||||
8 CONCURRENCY |
10/20/2025 | user-space threads | lab 6 | ||
10/21/2025 | threads | thread abstraction & API | |||
10/23/2025 | synchronization | lock implementation; | |||
9 CONCURRENCY II |
10/27/2025 | asynch io; |
event based concurrency | lab 7 | |
10/28/2025 | synchronization II | condition variables; semaphores | |||
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 | quiz 3 | ||
11/06/2025 | files and directories | ||||
11 FILE SYSTEMS |
11/10/2025 | lab 9 | |||
11/11/2025 | implementation | file system implementation | |||
11/13/2025 | locality | fast file systems | |||
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 | lab 11 | ||
11/25/2025 | quiz 4 | ||||
11/27/2025 | THANKSGIVING | ||||
14 SECURITY | 12/01/2025 | lab 12 | |||
12/02/2025 | security | introduction; authentication | |||
12/04/2025 | acess control | ||||
15 VIRTUAL MACHINES | 12/08/2025 | lab 13 | |||
12/09/2025 | virtual machine monitors | quiz 5 | |||
16 FINAL |
12/TBD/2025 | FINAL EXAM PERIOD (TBD) |