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-m19/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.)
- Lecture 1
(PDF)
(6-up PDF)
(May 16, 2019)
- administrative, introduction (Ch 1)
- Lecture 2
(PDF)
(6-up PDF)
(May 21, 2019)
- introduction (Ch 1), a simple OS (Ch 1)
- Lecture 3
(PDF)
(6-up PDF)
(May 23, 2019)
- a simple OS (Ch 1), thread creation, termination, synchronization (Ch 2)
- Lecture 4
(PDF)
(6-up PDF)
(May 28, 2019)
- thread creation, termination, synchronization (Ch 2)
- Lecture 5
(PDF)
(6-up PDF)
(May 30, 2019)
- thread creation, termination, synchronization (Ch 2), thread safety, deviations (Ch 2)
- Lecture 6
(PDF)
(6-up PDF)
(Jun 4, 2019)
- thread safety, deviations (Ch 2), context switching, I/O (Ch 3)
- Lecture 7
(PDF)
(6-up PDF)
(Jun 6, 2019)
- context switching, I/O (Ch 3)
- Lecture 8
(PDF)
(6-up PDF)
(Jun 6, 2019)
- context switching, I/O (Ch 3), dynamic storage allocation (Ch 3), static linking and loading (Ch 3)
- Lecture 9
(PDF)
(6-up PDF)
(Jun 11, 2019)
- booting (Ch 3), a simple system (Ch 4)
- Lecture 10
(PDF)
(6-up PDF)
(Jun 13, 2019)
- threads implementations (Ch 5), interrupts (Ch 5)
- Lecture 11
(PDF)
(6-up PDF)
(Jun 18, 2019)
- scheduler activation model (Ch 5), interrupts (Ch 5), storage management (Ch 4), files (Ch 1)
- Lecture 12
(PDF)
(6-up PDF)
(Jun 20, 2019)
- files (Ch 1), exams, the basics of file systems (Ch 6)
- Lecture 13
(PDF)
(6-up PDF)
(Jun 25, 2019)
- the basics of file systems (Ch 6), virtual memory (Ch 7)
- Lecture 14
(PDF)
(6-up PDF)
(Jun 27, 2019)
- virtual memory (Ch 7), OS issues (Ch 7)
- Lecture 15
(PDF)
(6-up PDF)
(Jul 2, 2019)
- (short lecture after midterm) OS issues (Ch 7)
- (Jul 4, 2019) - no class, university holiday
- Lecture 16
(PDF)
(6-up PDF)
(Jul 9, 2019)
- OS issues (Ch 7), performance improvements (Ch 6)
- Lecture 17
(PDF)
(6-up PDF)
(Jul 11, 2019)
- performance improvements (Ch 6), crash resiliency (Ch 6), directories and naming (Ch 6)
- Lecture 18
(PDF)
(6-up PDF)
(Jul 16, 2019)
- directories and naming (Ch 6), RAID, flash memory, case studies (Ch 6), devices (Ch 4)
- Lecture 19
(PDF)
(6-up PDF)
(Jul 18, 2019)
- devices (Ch 4), virtual machines (Ch 4)
- Lecture 20
(PDF)
(6-up PDF)
(Jul 23, 2019)
- virtual machines, microkernels (Ch 4), scheduling (Ch 5)
- Lecture 21
(PDF)
(6-up PDF)
(Jul 25, 2019)
- scheduling (Ch 5), shared libraries (Ch 3)
Preview:
- (Jul 30, 2019) - final exam (firm)
The following are tentative slides (in PDF format) for this semester.
- Administrative
- Ch 1 - Introduction
- Ch 2 - Multithreaded Programming
- Ch 3 - Basic Concepts
- Ch 4 - Operating-System Design
- Ch 5 - Processor Management
- Ch 6 - File Systems
- Ch 7 - Memory Management
- Miscellaneous
- blank slides (for use by instructor)
(PDF)
Week # |
Dates |
Topics |
Comments |
---|
1 |
5/16 |
administrative, (Ch 1) introduction, (Ch 1) a simple OS |
(warmup #1 starts on Wednesday) |
2 |
5/21,5/23 |
(Ch 1) a simple OS, (Ch 2) thread creation, termination, synchronization |
|
3 |
5/28,5/30 |
(Ch 2) thread safety, deviations, (Ch 3) context switching, I/O |
(warmup #2 starts on Wednesday) |
4 |
6/4,6/6 |
(Ch 3) dynamic storage allocation, linking, loading, booting, (Ch 4) a simple system |
|
5 |
6/11,6/13 |
(Ch 5) threads implementations, (Ch 5) threads implementations |
(kenel #1 starts on Wednesday) |
6 |
6/18,6/20 |
(Ch 5) interrupts, (Ch 4) storage management, (Ch 1) files |
|
7 |
6/25,6/27 |
(Ch 6) the basics of file systems, (Ch 7) virtual memory |
(kenel #2 starts on Wednesday) |
8 |
7/2 7/4 |
midterm exam (Ch 7) virtual memory |
|
9 |
7/9,7/11 |
(Ch 7) OS issues, (CH 6) performance improvements, (Ch 6) crash resiliency |
(kenel #3 starts on Wednesday) |
10 |
7/16,7/18 |
(Ch 6) directories and naming, (Ch 6) RAID, flash memory, case studies, (Ch 4) devices, (Ch 4) virtual machines, microkernels |
|
11 |
7/23,7/25 |
(Ch 5) scheduling, (Ch 3) shared libraries |
|
12 |
7/30 |
final exam |
|
|