# Lectures — CS 537

Source: https://wisconsin.twango.dev/sp26-cs537/lectures

# Lectures

Lecture notes for [[README|CS 537: Introduction to Operating Systems]].

## Processes and scheduling

- [[lecture-01|Introduction]]
- [[lecture-02|Processes: Virtualizing the CPU]]
- [[lecture-03|Scheduling]]
- [[lecture-04|Advanced Scheduling]]

## Virtual memory

- [[lecture-05|Virtualization: CPU to Memory]]
- [[lecture-06|Segmentation and Paging]]
- [[lecture-07|TLBs and Smaller Page Tables]]
- [[lecture-08|Beyond Physical Memory]]
- [[lecture-09|Page Replacement]]
- [[lecture-10|Memory Review]]

Midterm 1 material for Lectures 1–10: [[sp26-cs537/exams/midterm-1/index|Review and sample exams]] · [[sp26-cs537/exams/midterm-1/exam-morning|Midterm 1 - Morning]] · [[sp26-cs537/exams/midterm-1/exam-afternoon|Midterm 1 - Afternoon]].

## Concurrency

- [[lecture-11|Threads]]
- [[lecture-12|Locks]]
- [[lecture-13|Condition Variables]]
- [[lecture-14|Deadlock]]
- [[lecture-15|Race Detection]]

## Persistence

- [[lecture-16|I/O Devices]]

## Additional Lectures

- [[lecture-17/index|Lecture 17 - SSDs and Files]]
- [[lecture-18/index|Lecture 18 - File System API]]
- [[lecture-19/index|Lecture 19 - File Systems Implementation]]
- [[lecture-20/index|Lecture 20 - Fast File System (FFS)]]
- [[lecture-21/index|Lecture 21 - Log-Structured File System (LFS)]]
- [[lecture-22/index|Lecture 22 - Journaling]]
- [[lecture-23/index|Lecture 23 - RAID]]
- [[lecture-24/index|Lecture 24 - Containers]]
- [[lecture-25/index|Lecture 25 - Distributed Systems]]
- [[lecture-26|Lecture 26 - Virtual Machines]]
