Within 24 hours after a lecture is over, I will post the lecture slides I used in the section below. For a preview of future lectures, please see the tentative slides section below.

To download all the PDF files below in one command (so you can study for exams), do the following inside a terminal in Ubuntu 16.04 (preferable in an empty directory):

    wget -r -l 1 --user=USERID --password=PASSWORD http://merlot.usc.edu/cs402-s20/lectures.html
where USERID and PASSWORD are the user ID and password used to access protected content from our class web site. But please note that the lecture slides can change at any time without notice.

(Please note that access to lecture notes is restricted.)


  • (Jul 30, 2019) - final exam (firm)
The following are tentative slides (in PDF format) for this semester.
Week # Dates Topics Comments
1 administrative, (Ch 1) introduction, (Ch 1) a simple OS (warmup #1 starts on Wednesday)
2 (Ch 1) a simple OS, (Ch 2) thread creation, termination, synchronization  
3 (Ch 2) thread safety, deviations, (Ch 3) context switching, I/O (warmup #2 starts on Wednesday)
4 (Ch 3) dynamic storage allocation, linking, loading, booting, (Ch 4) a simple system  
5 (Ch 5) threads implementations, (Ch 5) threads implementations (kenel #1 starts on Wednesday)
6 (Ch 5) interrupts, (Ch 4) storage management, (Ch 1) files  
7 (Ch 6) the basics of file systems, (Ch 7) virtual memory (kenel #2 starts on Wednesday)
midterm exam
(Ch 7) virtual memory
9 (Ch 7) OS issues, (CH 6) performance improvements, (Ch 6) crash resiliency (kenel #3 starts on Wednesday)
10 (Ch 6) directories and naming, (Ch 6) RAID, flash memory, case studies, (Ch 4) devices, (Ch 4) virtual machines, microkernels  
11 (Ch 5) scheduling, (Ch 3) shared libraries  
12 final exam