CS347m/CS219 Operating Systems
Autumn 2025

Schedule                 home                 labs                 references

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

30/7     overview   lecture1  

Course overview
Introduction to Computing Systems

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

Lab1 (due date: 8th Aug)
1/8     lecture2  

Architecture overview and it's abstractions, and positioning the OS.

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

OS building blocks

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

The process abstraction

[ostep] Ch. 4, Ch. 5
Lab2 available.
13/8     lecture5  

The Process API

[ostep] Ch. 4, Ch. 5
15/8    

Holiday
Independence Day
20/8     lecture6  

The Process API (2)
code: mycat.c     mycat2.c
[ostep] Ch. 4, Ch. 5
22/8     lecture7  

the system call mechanism

[ostep] Ch. 6
27/8     Institute Holiday
29/8     lecture8

the system call mechanism (2)

[ostep] Ch. 6
3/9     lecture9

memory virtualization

[ostep] Ch. 13, 14, 15, 16
5/9     Institute Holiday
10/9     lecture10

the address space abstraction, the paging mechanism

[ostep] Ch. 16, 18
12/9     lecture11

paging, lazy page allocation, demand paging, address space management

[ostep] Ch. 17, 18, 21, 22
17/9    

Midsem exam week
19/9    

Midsem exam week
24/9     lecture12

memory virtualization and management redux

[ostep] Ch. 17, 18, 21, 22
26/9     lecture13

memory management redux and xv6 intro

[ostep] Ch. 17, xv6 book
1/10     lecture14

xv6 hands-on

3/10     lecture15

Process scheduling mechanims and policies

[ostep] Ch. 7, 8, 9, 10
8/10     lecture16    In-lab tasks

link1 link2 link3 link4 link5
10/10     lecture17

concurrency and synchronization

[ostep] Ch. 26, 27, 28
15/10     lecture18

design of synchronization primitives -- hardware support, spinlock, mutex

[ostep] Ch. 28, 29
17/10     lecture19

xv6 synchronization details, syncrhonization primitives and problems --- semaphores, condition variables, barrier, the producer-consumer problem

sprinlock.c spinlock.h sleeplock.c sleeplock.h proc.c
[ostep] Ch. 30, 31, 32
22/10     lecture20

syncrhonization problems --- the producer-consumer problem, the readers-writers problem
the file abstraction

the little book of semaphores (allen b. downey)
[ostep] Ch. 30, 32, 33, 35
24/10     lecture21

the file abstraction and file system design

[ostep] Ch. 39, 40
29/10     Quiz2 lecture22

file system design and optmizations

[ostep] Ch. 39, 40, 41
31/10     xv6 hands-on
5/11     LabQuiz 7/11     lecture23

file system consistency and reliability

[ostep] Ch. 42
10/11- 22/11    

End-semester exam

    . . .    

    to infinity and beyond!