Below is a schedule for this course, which will be updated as the course progresses. Students are thus required to frequently check this webpage for schedule, reading materials, and assignment updates.

Date Topic Assignment Readings
week 1
08/27
Introduction and VMs
(Slides)
Syllabus. link
Textbook, Chapter 1 and 2.
Understanding Full Virtualization, Paravirtualization, and Hardware Assist. VMware, 2007.
week 2
09/03
Processes and threads
(Slides)
Project1
Textbook, Chapter 3 and 4.
Beej's Guide to Unix IPC. Beej, 2010. link
Windows IPC. Pendharkar, 2006. link
week 3
09/10
IPC and synchronization
(Slides)
Textbook, Chapter 5 and 6.
The Little Book of Semaphores, Chapter 1.1~3.4, 4.1~4.2. Downey, 2008. link
week 4
09/17
Synchronization
(Slides)
Algorithms for Scalable Synchronization on Shared-memory Multiprocessors. Mellor-Crummey and Scott, 1995. link
week 5
09/24
Deadlock
(Slides)
Textbook, Chapter 7.
week 6
10/01
CPU scheduling and midterm review
(Slides)
Textbook, Chapter 8.
week 7
10/08
Midterm Exam
week 8
10/15
Memory management
(Slides)
Project2
Textbook, Chapter 9 and 10.
Anatomy of a Program in Memory. Duarte, 2009. link
A Series of Articles on Linux Memory. Bruneau, 2013. link
week 9
10/22
Address translation
(Slides)
Textbook, Chapter 10.
How the Kernel Manages Your Memory. Duarte, 2009. link
Cache: A Place for Concealment and Safekeeping. Duarte, 2009. link
week 10
10/29
Cache
(Slides)
Textbook, Chapter 11.
Page Cache, the Affair Between Memory and Files. Duarte, 2009. link
Memory Barriers: a Hardware View for Software Hackers. McKenny, 2010. link
week 11
11/05
Memory management review
(Slides)
week 12
11/12
I/O systems and secondary storage
(Slides)
Project3
Textbook, Chapter 12.
The Design and Implementation of Microdrivers. Ganapathy. ASPLOS, 2008 . link
week 13
11/19
File systems
(Slides)
Textbook, Chapter 13.
Anatomy of the Linux virtual file system switch. M. Tim Jones, 2009. link
The Google File System. Sanjay Ghemawat et al.. SOSP 2003. link
week 14
11/26
Thanksgiving Break - No class
week 15
12/03
File systems security
(Slides)
Linux File Permissions, chmod, & umask. Tutonics. 2012. link
Fixing Races for Fun and Profit: How to abuse atime. Borisov et al.. Usenix Security, 2005. link, Guideline 1, 2, 3
Dropping Privileges in setuid Programs link (Section 1.3 in Secure Programming Cookbook for C and C++). Viega & Messier, 2003.
(Optional) Secure Coding Guide. Apple, 2014. link
(Optional) Setuid Demystified. Chen, Wagner & Dean. Usenix Security 2002. link, Summary
week 16
12/10
Final Exam
.