In the lecture slides and videos section below, I will post lecture slides and pre-recorded lecture videos before 6pm on the day before the live lecture. Within 24 hours after a live lecture is over, I will add the recording of the live lectures there as well. For a high-level preview of future lectures, please see the tentative slides section below. For a detailed breakdown of each lectures, please see the detailed schedule 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-f21/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!

Live lectures will be recorded in Zoom. For serucity reasons, you must sign into your Zoom account using USC Shibboleth SSO (Single Sign-On). Please note that this is different from signing into your Zoom account using your USC e-mail address! To check if you signed in into Zoom correctly, start Zoom and click on Settings if you are on your phone. On top of the screen right next to your name, it should say LICENSED. (If you are using a browser, then you should click on Profile and look for your User Type.) If it doesn't say LICENSED (and says "Basic" instead), it means that you are signing into Zoom using your personal account. In that case, you should sign out (on your phone, click on Profile, scroll all the way down to the bottomm and click on Sign Out). Then sign in again. On the Sign In screen, don't enter your e-mail address there, but look for an SSO button instead. Click on the SSO button and enter "USC" as the company domain and it will take you to the familiar USC Shibboleth SSO screen where you need to provide your USC NetID and password (this is the same screen you get when you login to your USC e-mail account).

Access to videos are protected by an additional level of security measure. All videos here are on D2L, please enter your D2L user ID and password. Please also see hints about using the D2L video viewer. You also need to enable 3rd party cookies in your browser.

Please note that we are required to synchronized the two sections of CS 402. Therefore, if you have a lecture that falls on 9/6 (which is a university holiday), you are expected to watch the lecture video on the next day (i.e., scheduled for 9/7); if you have a lecture that falls on 10/14 (which is part of Fall recess), you are expected to watch the lecture video on the day before (i.e., scheduled for 10/13).

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

Week 1 Lecture 1 videos and lecture slides: (for Aug 23, 2021) Week 1 discussion video and slides: Lecture 2 videos and lecture slides: (for Aug 25, 2021)
Week 2 Week 2 discussion video and slides: Lecture 3 videos and lecture slides: (for Aug 30, 2021) Lecture 4 videos and lecture slides: (for Sep 1, 2021)
Week 3 Week 3 discussion video and slides: Lecture 5 videos and lecture slides: Lecture 6 videos and lecture slides: (for Sep 8, 2021)
Week 4 Week 4 discussion discussions video and slides: Lecture 7 videos and lecture slides: (for Sep 13, 2021) Lecture 8 videos and lecture slides: (for Sep 15, 2021)
Week 5 Week 5 discussion video and slides: Lecture 9 videos and lecture slides: (for Sep 20, 2021) Lecture 10 videos and lecture slides: (for Sep 22, 2021)
Week 6 Week 6 discussion video and slides: Lecture 11 videos and lecture slides: (for Sep 27, 2021) Lecture 12 videos and lecture slides: (for Sep 29, 2021)
Week 7 Week 7 discussion video and slides: Lecture 13 videos and lecture slides: (for Oct 4, 2021) Lecture 14 videos and lecture slides: (for Oct 6, 2021)
Week 8 Week 8 discussion video and slides: Lecture 15 videos and lecture slides: (for Oct 11, 2021) Lecture 16 videos and lecture slides: (for Oct 13, 2021)
Week 9 Week 9 discussion video and slides:
  • video (part 1 of 1) - 52 minutes (TXT) - kernel 2 polymorphism, vfs.c, vnode.c, file.c, vfs_syscall.c, vn_mmobj_ops.c, ramfs.c, vfstest.c, faber_fs_test.c
Lecture 17 videos and lecture slides: (for Oct 18, 2021) Lecture 18 videos and lecture slides: (for Oct 20, 2021)
Week 10 Week 10 discussion video and slides: Lecture 19 videos and lecture slides: (for Oct 25, 2021) Lecture 20 videos and lecture slides: (for Oct 27, 2021)
Week 11 Week 11 discussion video and slides:
  • video (part 1 of 1) - 57 minutes (PDF) - more on kernel 3, address space implementation (vmarea, mmobj, pframe, page table)
Lecture 21 videos and lecture slides: (for Nov 1, 2021) Lecture 22 videos and lecture slides: (for Nov 3, 2021)
Week 12 Week 12 discussion video and slides: Lecture 23 videos and lecture slides: (for Nov 8, 2021) Lecture 24 videos and lecture slides: (for Nov 10, 2021)
Week 13 Week 13 discussion video and slides: Lecture 25 videos and lecture slides: (for Nov 15, 2021) Lecture 26 videos and lecture slides: (for Nov 17, 2021)
Week 14

(no discussion video this week)

Lecture 27 videos and lecture slides: (for Nov 22, 2021) (Nov 24, 2021) - Thanksgiving recess (no videos and no live lecture)
Week 15

(no discussion video this week)

Lecture 28 videos and lecture slides: (for Nov 29, 2021) Lecture 29 videos and lecture slides: (for Dec 1, 2021)

Preview:

  • (Dec 10, 2021) - PM section final exam, 11am - 11:40am (firm)
  • (Dec 13, 2021) - DEN section final exam, 9am - 9:40am (firm)
  • (Dec 13, 2021) - Alternate final exam, 7pm - 7:40pm (firm)
The following are tentative slides (in PDF format) for this semester.
The number of minutes below are estimated lecture video minutes and they do not include "discussion" video minutes. Also, slide numbers below refers to the slide numbers in the Tentative Slides section above and they are also estimates since I may add or delete slides.

Please note that we are covering exactly the same material as previous semesters. This means that we need to cover 29 80-minute lectures and 13 50-minute discussion sections. In previous semester, when certain lecture days fell on university holidays, extra lectures were added so that the exact material can be covered. For this semester, 9/6 is a university holiday. Therefore, the lecture that was supposed to be held on that day (i.e., Lecture 5) was moved to the next day (i.e., scheduled for 9/7 and highlighted in bold below).

Week # Lecture # Dates Minutes Lecture Topics
1 1 8/23 80 course administration (slides 1-74)
  2 8/25 80 introduction (Ch 1) (slides 1-22), a simple OS (Ch 1) (slides 1-6)
2 3 8/30 80 a simple OS (Ch 1) (slides 7-66)
  4 9/1 80 a simple OS (Ch 1) (slides 67-85), thread creation, termination (Ch 2) (slides 1-16)
3 5 9/7 80 thread creation, termination (Ch 2) (slides 16-38), thread synchronization (Ch 2) (slides 1-14)
  6 9/8 80 thread synchronization (Ch 2) (slides 14-74)
4 7 9/13 80 thread synchronization (Ch 2) (slides 74-97), thread safety, deviations (Ch 2) (slides 1-18)
  8 9/15 80 thread safety, deviations (Ch 2) (slides 19-59)
5 9 9/20 80 context switching, I/O (Ch 3) (slides 1-90)
  10 9/22 80 context switching, I/O (Ch 3) (slides 90-135), dynamic storage allocation (Ch 3) (slides 1-11)
6 11 9/27 80 dynamic storage allocation (Ch 3) (slides 12-39), static linking and loading (Ch 3) (slides 1-45)
  12 9/29 80 booting (Ch 3) (slides 1-18), a simple system (Ch 4) (slides 1-32)
7 13 10/4 80 a simple system (Ch 4) (slides 33-61), thread implementation strategies (Ch 5) (slides 1-20), threads implementations (Ch 5) (slides 1-11)
  14 10/6 80 threads implementations (Ch 5) (slides 12-38), interrupts (Ch 5) (slides 1-29)
8 15 10/11 80 interrupts (Ch 5) (slides 30-59), scheduler activations model (Ch 5) (slides 1-14), storage management (Ch 4) (slides 1-18), files (Ch 1) (slides 1-27)
  16 10/13 80 files (Ch 1) (slides 28-72)
9 17 10/18 80 files (Ch 1) (slides 73-92)
  18 10/20 80 the basics of file systems (Ch 6) (slides 1-45), virtual memory (Ch 7) (slides 1-28)
10 19 10/25 80 virtual memory (Ch 7) (slides 29-73)
  20 10/27 80 virtual memory (Ch 7) (slides 74-93), OS issues (Ch 7) (slides 1-23)
11 21 11/1 80 OS issues (Ch 7) (slides 24-55)
  22 11/3 80 OS issues (Ch 7) (slides 56-134)
12 23 11/8 80 performance improvements (Ch 6) (slides 1-55), crash resiliency (Ch 6) (slides 1-38)
  24 11/10 80 crash resiliency (Ch 6) (slides 39-60), directories and naming (Ch 6) (slides 1-27)
13 25 11/15 80 RAID, flash memory, case studies (Ch 6) (slides 1-38), devices (Ch 4) (slides 1-13)
  26 11/17 80 devices (Ch 4) (slides 14-28), virtual machines, microkernels (Ch 4) (slides 1-37)
14 27 11/22 80 virtual machines, microkernels (Ch 4) (slides 38-81), scheduling (Ch 5) (slides 1-3)
  - 11/24 0 Thanksgiving Recess (no video)
15 28 11/29 80 scheduling (Ch 5) (slides 4-63)
  29 12/1 80 scheduling (Ch 5) (slides 64-129), shared libraries (Ch 3) (slides 1-27)