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-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. 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.)
All Sections
Lecture 1 (PDF) (6-up PDF) (Jan 13&14, 2020) - administrative
Lecture 2 (PDF) (6-up PDF) (Jan 15&16, 2020) - introduction (Ch 1), a simple OS (Ch 1)
Lecture 3 (PDF) (6-up PDF) (Jan 20&21, 2020) - a simple OS (Ch 1)
Lecture 4 (PDF) (6-up PDF) (Jan 22&23, 2020) - a simple OS (Ch 1), thread creation, termination (Ch 2)
Lecture 5 (PDF) (6-up PDF) (Jan 27&28, 2020) - thread creation, termination (Ch 2), thread synchronization (Ch 2)
Lecture 6 (PDF) (6-up PDF) (Jan 29&30, 2020) - thread synchronization (Ch 2)
Lecture 7 (PDF) (6-up PDF) (Feb 3&4, 2020) - thread synchronization (Ch 2), thread safety, deviations (Ch 2)
Lecture 8 (PDF) (6-up PDF) (Feb 5&6, 2020) - thread safety, deviations (Ch 2), context switching, I/O (Ch 3)
Lecture 9 (PDF) (6-up PDF) (Feb 10&11, 2020) - context switching, I/O (Ch 3)
Lecture 10 (PDF) (6-up PDF) (Feb 12&13, 2020) - context switching, I/O (Ch 3), dynamic storage allocation (Ch 3)
Lecture 11 (PDF) (6-up PDF) (Feb 17&18, 2020) - dynamic storage allocation (Ch 3), static linking and loading (Ch 3)
Lecture 12 (PDF) (6-up PDF) (Feb 19&20, 2020) - static linking and loading (Ch 3), booting (Ch 3), a simple system (Ch 4)
Lecture 13 (PDF) (6-up PDF) (Feb 24&25, 2020) - a simple system (Ch 4), threads implementations (Ch 5)
Lecture 14 (PDF) (6-up PDF) (Feb 26&27, 2020) - threads implementations (Ch 5), interrupts (Ch 5)
Lecture 15 (PDF) (6-up PDF) (Mar 2&3, 2020) - interrupts (Ch 5), scheduler activations model (Ch 5), storage management (Ch 4), files (Ch 1)
Lecture 16 (PDF) (6-up PDF) (Mar 4&5, 2020) - files (Ch 1)
Lecture 17 (PDF) (6-up PDF) (Mar 9&10, 2020) - files (Ch 1), exams, the basics of file systems (Ch 6)
Lecture 18 (PDF) (6-up PDF) (Mar 11&12, 2020) - the basics of file systems (Ch 6), virtual memory (Ch 7)
(Mar 16-20, 2020) - spring recess
Lecture 19 (PDF) (6-up PDF) (Mar 23&24, 2020) - virtual memory (Ch 7)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • (Mar 26, 2020) - common midterm exams
    Lecture 21 (PDF) (6-up PDF) (Mar 30&31, 2020) - virtual memory (Ch 7), OS issues (Ch 7)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • Lecture 22 (PDF) (6-up PDF) (Apr 1&2, 2020) - OS issues (Ch 7)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • Lecture 23 (PDF) (6-up PDF) (Apr 6&7, 2020) - OS issues (Ch 7)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • Lecture 24 (PDF) (6-up PDF) (Apr 8&9, 2020) - performance improvements (Ch 6), crash resiliency (Ch 6)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • Lecture 25 (PDF) (6-up PDF) (Apr 13&14, 2020) - crash resiliency (Ch 6), directories and naming (Ch 6)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • Lecture 26 (PDF) (6-up PDF) (Apr 15&16, 2020) - RAID, flash memory, case studies (Ch 6), devices (Ch 4)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • Lecture 27 (PDF) (6-up PDF) (Apr 20&21, 2020) - devices (Ch 4), virtual machines, microkernels (Ch 4)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • Lecture 28 (PDF) (6-up PDF) (Apr 22&23, 2020) - virtual machines, microkernels (Ch 4), scheduling (Ch 5)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • Lecture 29 (PDF) (6-up PDF) (Apr 27&28, 2020) - scheduling (Ch 5)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • Lecture 30 (PDF) (6-up PDF) (Apr 29&30, 2020) - scheduling (Ch 5), shared libraries (Ch 3)
  • transcript for video (part 1 of 2)
  • transcript for video (part 2 of 2)
  • Preview:

    • (May 8, 2020) - DEN section final exam, 9am - 9:40am (firm)
    • (May 12, 2020) - AM section final exam, 9am - 9:40am (firm)
    • (May 13, 2020) - PM section final exam, 3pm - 3:40pm (firm)
    The following are tentative slides (in PDF format) for this semester.
    Week # Dates Topics Comments
    1 1/13-1/16 administrative, introduction (Ch 1), a simple OS (Ch 1) (warmup #1 starts)
    3 1/20
    1/21-1/23
    (Martin Luther King Day holiday)
    a simple OS (Ch 1), thread creation, termination, synchronization (Ch 2)
     
    2 1/27-1/30 thread creation, termination, synchronization (Ch 2)  
    4 2/3-2/6 thread safety, deviations (Ch 2), context switching, I/O (Ch 3) (warmup #2 starts)
    5 2/10-2/13 context switching, I/O (Ch 3), dynamic storage allocation (Ch 3)  
    7 2/17
    2/18-2/20
    (Presidents' Day holiday)
    static linking and loading, booting (Ch 3), a simple system (Ch 4)
    (kernel #1 starts)
    6 2/24-2/27 a simple system (Ch 4), threads implementations (Ch 5), interrupts (Ch 5)  
    8 3/2-3/5 interrupts (Ch 5), storage management (Ch 4), files (Ch 1)  
    9 3/9-3/12 the basics of file systems (Ch 6), directories and naming (Ch 6)  
    10 3/23-3/24
    3/25-3/26
    virtual memory (Ch 7)
    midterm exam
    (kernel #2 starts)
    11 3/30-4/2 virtual memory (Ch 7), OS issues (Ch 7)  
    12 4/6-4/9 OS issues (Ch 7), crash resiliency (Ch 6)  
    13 4/13-4/16 RAID, flash memory, case studies (Ch 6), devices (Ch 4) (kernel #3 starts)
    14 4/20-4/23 virtual machines, microkernels (Ch 4)
    15 4/27-4/30 scheduling (Ch 5), shared libraries (Ch 3)