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:

    wget -r -l 1 --user=USERID --password=PASSWORD http://merlot.usc.edu/cs402-f19/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. Therefore, it's a good idea to re-run the above command often to synchroniza your copy with the server!
 
(Please note that access to lecture notes is restricted.)
MW Sections (DEN&PM) TuTh Section (TT)
Lecture 1 (PDF) (6-up PDF) (Aug 26&27, 2019) - administrative
Lecture 2 (PDF) (6-up PDF) (Aug 28&29, 2019) - introduction (Ch 1), a simple OS (Ch 1)
Lecture 3 (PDF) (6-up PDF) (Sep 2&3, 2019) - a simple OS (Ch 1)
Lecture 4 (PDF) (6-up PDF) (Sep 4&5, 2019) - a simple OS (Ch 1), thread creation, termination, synchronization (Ch 2)
Lecture 5 (PDF) (6-up PDF) (Sep 9&10, 2019) - thread creation, termination (Ch 2), thread synchronization (Ch 2)
Lecture 6 (PDF) (6-up PDF) (Sep 11&12, 2019) - thread synchronization (Ch 2)
Lecture 7 (PDF) (6-up PDF) (Sep 16&17, 2019) - thread synchronization (Ch 2), thread safety, deviations (Ch 2)
Lecture 8 (PDF) (6-up PDF) (Sep 18&19, 2019) - thread safety, deviations (Ch 2), context switching, I/O (Ch 3)
Lecture 9 (PDF) (6-up PDF) (Sep 23&24, 2019) - context switching, I/O (Ch 3)
Lecture 10 (PDF) (6-up PDF) (Sep 25&26, 2019) - context switching, I/O (Ch 3), dynamic storage allocation (Ch 3)
Lecture 11 (PDF) (6-up PDF) (Sep 27, 2019) - dynamic storage allocation (Ch 3), static linking and loading (Ch 3)
Lecture 12 (PDF) (6-up PDF) (Sep 30&Oct 1, 2019) - static linking and loading (Ch 3), booting (Ch 3), a simple system (Ch 4)
Lecture 13 (PDF) (6-up PDF) (Oct 2&3, 2019) - a simple system (Ch 4), threads implementations (Ch 5)
Lecture 14 (PDF) (6-up PDF) (Oct 7&8, 2019) - threads implementations (Ch 5), interrupts (Ch 5)
Lecture 15 (PDF) (6-up PDF) (Oct 9&10, 2019) - interrupts (Ch 5), storage management (Ch 4), files (Ch 1)
Lecture 16 (PDF) (6-up PDF) (Oct 14&15, 2019) - files (Ch 1)
Lecture 17 (PDF) (6-up PDF) (Oct 16&17, 2019) - files (Ch 1), exams, the basics of file systems (Ch 6)
(Oct 17-18, 2019) - fall recess
Lecture 18 (PDF) (6-up PDF) (Oct 21&22, 2019) - the basics of file systems (Ch 6), virtual memory (Ch 7)
Lecture 19 (PDF) (6-up PDF) (Oct 23&24, 2019) - virtual memory (Ch 7)
Lecture 20 (PDF) (6-up PDF) (Oct 28&29, 2019) - virtual memory (Ch 7), OS issues (Ch 7)
(Oct 30/31, 2019) - midterm exams
Lecture 22 (PDF) (6-up PDF) (Nov 4&5, 2019) - OS issues (Ch 7)
Lecture 23 (PDF) (6-up PDF) (Nov 6&7, 2019) - OS issues (Ch 7), performance improvements (Ch 6)
Lecture 24 (PDF) (6-up PDF) (Nov 11&12, 2019) - performance improvements (Ch 6), crash resiliency (Ch 6)
Lecture 25 (PDF) (6-up PDF) (Nov 13&14, 2019) - crash resiliency (Ch 6), directories and naming (Ch 6), RAID, flash memory, case studies (Ch 6)
Lecture 26 (PDF) (6-up PDF) (Nov 18&19, 2019) - RAID, flash memory, case studies (Ch 6), devices (Ch 4)
Lecture 27 (PDF) (6-up PDF) (Nov 20&21, 2019) - devices (Ch 4), virtual machines, microkernels (Ch 4)
Lecture 28 (PDF) (6-up PDF) (Nov 25&26, 2019) - virtual machines, microkernels (Ch 4), scheduling (Ch 5)
(Nov 27-29, 2019) - Thanksgiving recess
Lecture 29 (PDF) (6-up PDF) (Dec 2&3, 2019) - scheduling (Ch 5)
Lecture 30 (PDF) (6-up PDF) (Dec 4&5, 2019) - scheduling (Ch 5), shared libraries (Ch 3)

Preview:

  • Lecture 30 will cover scheduling (Ch 5) and shared libraries (Ch 3). You can get a preview by looking at slides from Spring 2019.
  • (Dec 12, 2019) - TT section final exam, 11am - 1pm (firm)
  • (Dec 13, 2019) - PM section final exam, 11am - 1pm (firm)
  • (Dec 16, 2019) - DEN section final exam, 8am - 10am (firm)
The following are tentative slides (in PDF format) for this semester.
Week # Dates Topics Comments
1 8/26-8/29 administrative, introduction (Ch 1), a simple OS (Ch 1) (warmup #1 starts)
2 9/2
9/3-9/5
(Labor Day holiday)
a simple OS (Ch 1), thread creation, termination, synchronization (Ch 2)
 
3 9/9-9/12 thread creation, termination, synchronization (Ch 2)  
4 9/16-9/19 thread safety, deviations (Ch 2), context switching, I/O (Ch 3) (warmup #2 starts)
5 9/23-9/26 context switching, I/O (Ch 3), dynamic storage allocation (Ch 3)  
6 9/30-10/3 static linking and loading, booting (Ch 3), a simple system (Ch 4)  
7 10/7-10/10 a simple system (Ch 4), threads implementations (Ch 5), interrupts (Ch 5) (kernel #1 starts)
8 10/14-10/17 interrupts (Ch 5), storage management (Ch 4), files (Ch 1)  
9 10/21-10/24 the basics of file systems (Ch 6), directories and naming (Ch 6)  
10 10/28-10/29
10/30-10/31
virtual memory (Ch 7)
midterm exam
(kernel #2 starts)
11 11/4-11/7 virtual memory (Ch 7), OS issues (Ch 7)  
12 11/11-11/14 OS issues (Ch 7), crash resiliency (Ch 6)  
13 11/18-11/21 RAID, flash memory, case studies (Ch 6), devices (Ch 4) (kernel #3 starts)
14 11/25-11/26
11/27-11/29
virtual machines, microkernels (Ch 4)
(Thanksgiving holiday)
 
15 12/2-12/5 scheduling (Ch 5), shared libraries (Ch 3)