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 scheduling

Zoom meeting.

Assembly language

Guest 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 paging

Zoom 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.