Academic calendar

Schedule is subject to changes. Please check before class!
Date Lecture Preparation
1/20 Lec 1: Introduction, OS goals
Notes-1 Notes-2
Skim Book Chap 1.
Optional: [Ritchie79]
1/27 Lec 2: PC hardware and x86 programming
Notes-1 Notes-2
[PC assembly]
read PC Assembly Chap 1,2,4
2/3 Lec 3: OS organization
Notes
read Book Chap 1.4, 2.1
Research:exokernel
2/10 Lec 4: OS organization, process interaction
Notes
read 5.3, skim 5.5 of [Saltzer&Kaashoek]
Do Lab 1 exercises
2/17 Lec 5: Scheduling
Due: Lab 1 (2/16)
Notes
read 6.3 of [Saltzer&Kaashoek]
Research: lottery_sched, livelock
2/24 Lec 6: Synchronization
Notes
read 5.2 of [Saltzer&Kaashoek]
Optional: Book Chap 2.3
3/3 Lec 7: Synchronization II
Notes
skim Chap 5 of Understanding Linux Kernel
read [Eraser]
Research: read-copy-update,corey
3/10 Lec 8: Synchronization III
Notes
Mid-term exam
3/17 Spring break
Due: Lab 2 (3/16)
3/24 Lec 9: Virtual memory
Notes
read 5.4 5.7 of [Saltzer&Kaashoek]
read x86 addr translation
complete exercises

Optional: Book Chap. 3.1-3.3, 3.7
Research: vx32, nooks

3/31 Lec 10: Virtual memory
Notes
read 6.2 of [Saltzer&Kaashoek]
complete exercises

Optional: Book 3.4, 3.5
Research: superpage

4/7 Lec 11: File systems
Notes
read 2.5 of [Saltzer&Kaashoek], unix
complete exercise

Optional: Book Chap 4.3,4.4
Research: soft update, LFS

4/14 Lec 12: Virtual machines
Notes
Due: Lab 3 (4/13)
read [compare], [esx]
complete exercise
new
4/17
Lec 13: Security
Notes
read 11.1 11.6, skim 11.11 of [Saltzer&Kaashoek], read 1,2 of TOCTTOU
Optional/Research: KeyOS, Flask, HiStar
complete exercise
4/28 Lec 14: Final exam