CS219 + CS236 Operating Systems
Spring 2025-26

Schedule                 home                 labs                 references

OS course videos : (Login -> Archived Semester -> Computer Science and Engineering -> CS347 Autumn 2023)

5/1     overview/lecture1  

Course overview
Introduction to Operating Systems

[ostep] Ch. 2
[dive] Ch. 0, [csapp] Ch. 1

6/1     lecture2  

Abstractions, Hardware and the OS.

[ostep] Ch. 2
[dive] Ch. 0, 1, 2, 3
[csapp] Ch. 1
8/1     lecture3  

The OS + ISA interface,
OS requirements

[ostep] Ch. 2, Ch. 6
[dive] Ch. 5
12/1     lecture4  

OS design prinicples

[ostep] Ch. 6
[dive] Ch. 13.1
13/1     lecture5  

LDE and interrrupts, the process abstraction

[ostep] Ch. 4
15/1     lecture6  

process execution states and the process api

[ostep] Ch.4, Ch.5
[xv6book] Ch.1
19/1     lecture7  

the process api and copy-on-write optimization

[ostep] Ch.4, Ch.5
[xv6book] Ch.1
20/1     lecture8  

memory view of proceses, signals

[ostep] Ch.4, Ch.5
22/1     lecture9  

more signals, pcbs and process system calls

[ostep] Ch.4, Ch.5
man 7 signal
27/1     lecture10  

the systems call mechanism

[ostep] Ch.4, Ch.5
[xv6 book] Ch.4
29/1     lecture11  

the systems call mechanism (2)

[ostep] Ch.4, Ch.5
[xv6 book] Ch.4

trampoline.S   trap.c
2/2     lecture12  

memory virtualization

[ostep] Ch.13, Ch.14
3/2     lecture13  

the address space abstraction and segmentation

[ostep] Ch.15, Ch.16
5/2     lecture14  

paging based virtual memory

[ostep] Ch.16, Ch.18
9/2     lecture15  

more paging and address space management

[ostep] Ch.17, Ch.18
[xv6 book] Ch. 5
10/2     lecture16  

sbrk, page faults, lazy allocation, demand paging

[ostep] Ch.17, Ch.18, Ch. 21
[xv6 book] Ch.3, Ch. 5
12/2     lecture17  

kernel virtual address space, kernel page tables, xv6 memory handling

[ostep] Ch.17, Ch.18
[xv6 book] Ch.3, Ch.5
16/2     lecture18  

xv6 internals

[xv6 book] Ch.3, Ch.4, Ch.5
17/2     lecture19  

demand paging, malloc/free, address space management

[ostep] Ch.17, Ch.21, Ch.22
19/2     lecture20  

CPU caches, TLB, free space management

[ostep] Ch.17, Ch.21, Ch.22
2/3     lecture21  

scheduling --- mechanisms and policies, xv6 specifics

[ostep] Ch. 7, 8, 9, 10
[xv6book] Ch. 8, Ch. 2

5/3     lecture22  

scheduling policies, concurrency introduction
[ostep] Ch. 7, 8, 9, 10, Ch. 26
[xv6book] Ch. 8, Ch. 2

9/3     lecture23  

concurrency and race conditions

[ostep] Ch.26
10/3     lecture24  

threads with xv6

[xv6book] Ch. 8
[ostep] Ch. 26

12/3     lecture25  

design of synchronization primitives

[ostep] Ch. 26, 27

16/3     lecture26  

spinlocks and mutexes

[ostep] Ch. 26, 28, 29

17/3     lecture27  

mutex implemetation details, condition variables

[ostep] Ch. 28, 29, 30

23/3     lecture28  

user space threads, condition variables, semaphores

[ostep] Ch. 28, 29, 30, 31

24/3     lecture29  

yet some more synchronization problems --- barrier, producer-consumer, reader-writer

[ostep] Ch. 28, 29, 30, 31