Course Schedule

Note: Lecture topics, readings, and assignments (especially deadlines) are subject to change.


Week Date Lecture/Lab Reading (Optional) Assignment Due
1 M 03/31
Tu 04/01 Fundamental Operating System Concepts OSTEP Ch 1, 4.1-4.3, 13
Th 04/03 The Thread and Process Abstractions OSTEP Ch 4.4, 5, 6.1-6.2, 14, 27, 28.1-28.2
F 04/04 Lab 1
2 M 04/07
Tu 04/08 The File Abstraction OSTEP Ch 39
Th 04/10 Kernel Structure OSTEP Ch 4.5, 6.3-6.5
F 04/11 Lab 2
3 M 04/14 Word Count
Tu 04/15 Implementing Threads and Locks OSTEP Ch 26, 28, 29
Th 04/17 Mutual Exclusion and Monitors OSTEP Ch 30, 31
F 04/18 Lab 3
4 M 04/21 Shell
Tu 04/22 TBD (Exam Review?)
Th 04/24
F 04/25 Lab 4
5 M 04/28
Tu 04/29 Scheduling OSTEP Ch 7, 8, 9
Th 05/01 Address Spaces OSTEP Ch 15, 16, 17, 18, 20
F 05/02 Lab 5
6 M 05/05 Kernels
Tu 05/06 Caches and TLBs OSTEP Ch 19
Th 05/08 Virtual Memory OSTEP Ch 21, 22, 23
F 05/09 Lab 6
7 M 05/12 Loader
Tu 05/13 I/O Devices, Controllers, and Drivers OSTEP Ch 36, 37, 44
Th 05/15 File System Structure OSTEP Ch 40, 41
F 05/16 Lab 7
8 M 05/19 System Calls
Tu 05/20 Buffering, Transactions, and Journaling OSTEP Ch 42, 43, 45
Th 05/22 The Service Abstraction OSTEP Ch 48
F 05/23 Lab 8
9 M 05/26
Tu 05/27 Remote Communication OSTEP Ch 48
Th 05/29 Distributed Systems OSTEP Ch 49, 50
F 05/30 Lab 9
10 M 06/02 TBD
Tu 06/03 Virtualization, Cloud Computing, and Security OSTEP App A
Th 06/05 TBD (Special Topics) None
F 06/06 Lab 10
11 W 06/11