Lectures
Every class of the August–September 2020 offering, numbered as in the original schedule. The course ran in a flipped format: lecture videos are on YouTube, and most class meetings on Zoom were recorded.
SlidesFull recording
Processes and CPU scheduling
Lectures 1–5| Lecture 01 | Logistics and introduction to operating systems |
|
| Lecture 02 | Processes |
|
| Lecture 03 | Process API; CPU scheduling I |
|
CPU schedulingZoom meeting. |
||
Assembly languageGuest lecture. |
||
| Lecture 04 | CPU scheduling I |
|
| Lecture 05 | CPU scheduling I (continued); CPU scheduling II |
File systems
Lectures 6–7| Lecture 06 | File systems I |
|
| Lecture 07 | File systems II; file system implementation |
Memory virtualisation
Lectures 8–14| Lecture 08 | Memory management I and II: base and bounds |
|
| Lecture 09 | Segmentation |
|
| Lecture 10 | Paging |
|
| Lecture 11 | Paging (discussion)Zoom meeting. |
|
| Lecture 12 | Advanced paging |
|
| Lecture 13 | Multilevel pagingZoom meeting. |
|
| Lecture 14 | Swapping |
Concurrency
Lectures 15–25| Lecture 15 | Concurrency |
|
| Lecture 16 | Locks I |
|
| Lecture 17 | Locks II |
|
| Lecture 18 | Doubt session |
|
| Lecture 19 | Advanced locks: queue-based locks |
|
| Lecture 20 | Condition variables I |
|
| Lecture 21 | Condition variables II |
|
| Lecture 22 | Condition variables: bounded buffer |
|
| Lecture 23 | Bounded buffer; semaphores |
|
| Lecture 24 | Semaphores and deadlock |
|
| Lecture 25 | Common concurrency problems |
I/O devices, disks and RAID
Lectures 26–30| Lecture 26 | I/O devices and hard disks I |
|
| Lecture 27 | I/O devices and hard disks II |
|
| Lecture 28 | Hard disks and RAID I |
|
| Lecture 29 | Hard disks and RAID II |
|
| Lecture 30 | RAID III |
File-system slides are from the 2018 offering. Labs are on the Labs page.