Dates Topic Required Readings Notes/Homeworks
Feb 24 First class
-- Introduction The UNIX Operating System
Original Unix paper
OSTEP 1, 2
-- Processes and Threads OSTEP 3, 4, 5, 6, 25, 26, 27
An Introduction to Programming with Threads
Scheduler Activations paper
Stack Ripping paper
03-03-2021, 08-03-2021, 10-03-2021, 15-03-2021
slides-proc, slides-schedact, slides-stackrip
minish.c, pipesh.c, redirsh.c
-- Virtual Memory & Memory Allocation OSTEP 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
HOARD paper
Superpages paper
17-03-2021, 22-03-2021, 24-03-2021, 29-03-2021, 31-03-2021, 05-04-2021, 07-04-2021, 12-04-2021, 21-04-2021
TBD Mid-term exam: In class All material covered until previous class
-- File Systems OSTEP 35, 36, 37, 39, 40, 41, 42, 43, 44, UNIX FFS
slides-fs, slides-advancedfs, slides-lfs, slides-ssd, 26-04-2021, 28-04-2021, 03-05-2021, 05-05-2021, 10-05-2021, 12-05-2021
-- Concurrency & Synchronization
RCU paper
-- Virtual Machines OSTEP Appendix B,
VMWare paper,
Xen paper,
VMWare ESX paper
TBD Final exam All material covered


We have a strict, zero-tolerance policy against cheating in class, based on CSA departmental guidelines. Both the cheater and enabler (or the corresponding teams) will be considered guilty. It doesn't matter whether you cheat in an exam, a single homework, one question on one homework—the granularity of cheating does not matter. If you're caught cheating once, you're caught cheating in the course—period.

What constitutes cheating? Here is a non-exhaustive list:

What happens if you're caught cheating?

You will get an F grade in the course if you're caught cheating.
There will be no room for negotiation on this penalty, and no excuses will be considered. You are making a conscious choice of violating the clearly-stated class ethics policy when you opt to cheat. You must therefore be ready to face the consequences. Lighter punishments will not be considered.

In addition to this penalty that has a direct bearing on the grade, the following penalties will also be applied:

It is very tempting to cheat when courses are taught online. Indeed, we had the unpleasant experience of having to deal with many cheating cases in the Autumn 2020 semester. You may think that you can get away because there is nobody to proctor your work. If you think this way, you think wrong. If you cheat, you will get caught. We have various methods by which we detect cheating in exams and homeworks. We also have an archival repository of all your "seniors'" homework code, and will be checking your code against this repository for copying.

You've been warned. Don't even think of cheating. It's not going to be worth it. If despite all these warnings, you cheat, be prepared to face the consequences listed above.