Introduction to Operating Systems
CPSC/ECE 3220 — Section 001 — Fall 2022
WARNING: This schedule is not set in stone. It will evolve as we go. Please check it frequently.
NOTE: Readings from the "Operating Systems Principles and Practice" text will be abbreviated as OSPP (or maybe SOPP, if I'm typing fast).
Topics, Readings, Assignments
Course introduction, policies, and preliminaries.
READ: This little tutorial on C and pointers, Beej's guide to C, and this tutorial on Makefiles.
The point of this reading is to make sure that you are ready for CPSC/ECE 3220. Some of you may be tempted to skip this reading. Do so at your own peril. I know that it's a lot, and I hope that it is all review. Taking this course without a clear understanding of C (and specifically how pointers work) and how to use make to automate compilation and testing tasks is likely to result in endless frustration.
Systems, Operating Systems. Welcome to the "systems" community. A little history, a little philosophy, and an overview of the course.
READ: OSPP ch 1, Lampson's hints for computer system design There's also an updated shorter version here.
The Kernel, Interrupts, traps, library calls, system calls. Processes (fork, strace, ltrace).
READ: OSPP ch 2.
Processes (continued), exec, ptrace, shims, anatomy of a process.
READ: OSPP ch 3-3.2
Project 1 posted here.
Finish Processes. Start interprocess communication.
READ: OSPP ch 3.3–3.6
Meeting in Cooper 200D
Threads, PThreads, and a little scheduling
READ: OSPP ch 4
READ: this pthreads tutorial.
WATCH: These videos might also help.
More Threads, synchronization
READ: OSPP ch 5
More threads/synch. Conditions variables.
Semaphores, Classic Synch problems and Deadlock
READ: OSPP ch 6
Project 2 posted here.
Read: OSPP ch 7.
Watch: This video about scheduling before class.
More Scheduling. Start Realtime Scheduling
Finish realtime scheduling. Review for midterm.
Start on Memory.
Read: OSPP ch. 8
Paging (Modern Virtual Memory)
Project 2 due.
Project 3 posted here.
More Paging, malloc
Allocating Frames, Page replacement, copy-on-write
Read: OSPP ch. 9
Read: OSPP ch. 10
Mass Storage. Disks. Files and Filesystems. Read: OSPP ch. 11
Fall Break. No class.
Read: OSPP ch 12
Project 4 posted here.
UNIX/Berkeley Fast File System
READ: OSPP ch. 13
Project 3 is due.
Log-structured File Systems
Thanksgiving Holiday break. No class.
Disk-level fault tolerance (RAID).
Project 4 due.
Course Recap and final review.
Final Exam. 3:00–5:30 PM