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-m24/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 held online in Zoom meetings. 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 email 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 email 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 email 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 access to lecture notes and videos is restricted.)
Please note that the lecture numbers below correspond to the lecture numbers in a Fall/Spring semester.
Week 1 |
May 16, 2024:
May 17, 2024 (week 1 discussion):
|
Week 2 |
May 21, 2024:
May 23, 2024:
May 24, 2024 (week 2 discussion):
|
Week 3 |
May 28, 2024:
May 30, 2024:
May 31, 2024 (week 3 discussion):
Prerequisite: finish all lecture videos on thread synchronization
|
Week 4 |
Jun 4, 2024:
Jun 6, 2024:
Jun 7, 2024 (week 4 discussion):
- Discussion 4 video (part 1 of 2) - 29 minutes
(PDF) - warmup #2 (part 2)
- Prerequisite: finish the last Ch 2 video on Jun 4, 2024
- Prerequisite: you should probably only watch the following videos after you are done with warmup2
- Discussion 4 video (part 2 of 2) - 22 minutes
(PDF) - introduction to kernel assignments (part 1)
- (weenix version in PDF is 3.9.0 while video had version 3.8.0, line numbers in kmain.c are different)
- Discussion 5 video (part 1 of 1) - 53 minutes
(PDF) - introduction to kernel assignments (part 2)
- (weenix version in PDF is 3.9.0 while video had version 3.8.0, line numbers in kmain.c are different)
|
Week 5 |
Jun 11, 2024:
Jun 13, 2024:
Jun 14, 2024 (week 5 discussion):
|
Week 6 |
Jun 18, 2024:
Jun 20, 2024:
Jun 21, 2024 (week 6 discussion):
|
Week 7 |
Jun 25, 2024:
Panopto Demo
(please watch this after you have watched live lecture on Jun 25, 2024)
Jun 27, 2024:
Jun 28, 2024 (week 7 discussion):
|
Week 8 |
Jul 2, 2024:
Jul 4, 2024:
- no lecture videos or live lecture - university holiday
Jul 5, 2024 (week 8 discussion):
Prerequisite: you should probably only watch these videos when you are done with kernel 2
|
Week 9 |
Jul 9, 2024:
Jul 11, 2024:
Jul 12, 2024 (week 9 discussion):
|
Week 10 |
Jul 16, 2024:
Jul 18, 2024:
Jul 19, 2024 (week 10 discussion):
|
Week 11 |
Jul 23, 2024:
Jul 25, 2024:
- No pre-recorded lecture videos for Jul 25, 2024 since all materials have been covered!
(We are covering exactly the same lectures material and doing exactly the same programming assignments as in all previous semesters.)
- live lecture (house-keeping PDF)
- video recording of live lecture (10 minutes)
Jul 26, 2024: No discussions this week.
(We are covering exactly the same discussions material and doing exactly the same programming assignments as in all previous semesters.)
|
Preview:
- (Jul 30, 2024) - final exam, 9:30am-10:10am (firm)
The following are tentative slides (in PDF format) for this semester.
The number of minutes are just estimates.
Also, slide numbers are approximate since I may add or delete slides from time to time.
Week # |
Dates |
Minutes |
Lecture Topics |
---|
1 |
5/16 | 120 |
course administration (slides 1-85), introduction (Ch 1) (slides 1-17) |
2 |
5/21 5/23 |
120 120 |
introduction (Ch 1) (slides 18-22), a simple OS (Ch 1) (slides 1-66)
a simple OS (Ch 1) (slides 67-85), thread creation, termination (Ch 2) (slides 1-38) |
3 |
5/28 5/30 |
120 120 |
thread synchronization (Ch 2) (slides 1-74)
thread synchronization (Ch 2) (slides 74-97), thread safety, deviations (Ch 2) (slides 1-38) |
4 |
6/4 6/6 |
120 160 |
thread safety, deviations (Ch 2) (slides 39-59), context switching, I/O (Ch 3) (slides 1-90)
context switching, I/O (Ch 3) (slides 90-135), dynamic storage allocation (Ch 3) (slides 1-39), static linking and loading (Ch 3) (slides 1-45) |
5 |
6/11 6/13 |
120 120 |
booting (Ch 3) (slides 1-18), a simple system (Ch 4) (slides 1-61)
thread implementation strategies (Ch 5) (slides 1-20), threads implementations (Ch 5) (slides 1-38), interrupts (Ch 5) (slides 1-29) |
6 |
6/18
6/20 |
120
120 |
interrupts (Ch 5) (slides 30-65), scheduler activations model (Ch 5) (slides 1-14),
storage management (Ch 4) (slides 1-18), files (Ch 1) (slides 1-53)
files (Ch 1) (slides 54-92), the basics of file systems (Ch 6) (slides 1-23) |
7 |
6/25 6/27 |
120 120 |
the basics of file systems (Ch 6) (slides 24-45), virtual memory (Ch 7) (slides 1-44)
virtual memory (Ch 7) (slides 44-94), OS issues (Ch 7) (slides 1-23) |
8 |
7/2 7/4 |
0 120 |
Midterm Exam (no video)
OS issues (Ch 7) (slides 24-89) |
9 |
7/9 7/11 |
120 120 |
OS issues (Ch 7) (slides 90-134), performance improvements (Ch 6) (slides 1-55), crash resiliency (Ch 6) (slides 1-38)
crash resiliency (Ch 6) (slides 39-60), directories and naming (Ch 6) (slides 1-27), RAID, flash memory, case studies (Ch 6) (slides 1-18) |
10 |
7/16
7/18 |
120
120 |
RAID, flash memory, case studies (Ch 6) (slides 19-38), devices (Ch 4) (slides 1-28) virtual machines, microkernels (Ch 4) (slides 1-37)
virtual machines, microkernels (Ch 4) (slides 38-81), scheduling (Ch 5) (slides 1-30) |
11 |
7/23 7/25 |
120 0 |
scheduling (Ch 5) (slides 31-129), shared libraries (Ch 3) (slides 1-27)
(no video) |
12 |
7/30 |
0 |
Final Exam (no video) |
|