CS 372H: Schedule

Note that this schedule may change.

Topics Reading assignment
(to be completed before class)
Homework (non-graded exercises) Notes
Week 1
Tue 01/17 Introduction (notes) Lab 1 released, Lab 2 released
Thu 01/19 PC hardware and x86 programming (notes) (handout) Exercise 1 of Lab 1,
PC Assembly Language (skim),
"Brennans Guide to Inline Assembly" (skim)
Week 2
Tue 01/24 Virtual memory I (notes) (handout) chapters 5 and 6 in 80386
Wed 01/25 Lab 1 due, 9:00 PM
Thu 01/26 Virtual memory II and page faults (notes) (handout) Background: Tanenbaum chapter 1 (one), 3.0--3.3 HW1, Sol1
Fri 01/27 Lab 3 released
Week 3
Mon 01/30 Background section (virtual memory), 4:00-5:00. Room: UTC 1.144.
Mon 01/30 Lab 2a due, 9:00 PM
Tue 01/31 Page faults, processes, shell (notes) (handout) Background: Tanenbaum chapter 3.4--3.7, chapter 2.1
Thu 02/02 (DD) More about process control in Unix (notes) (handout) Read The Evolution of the Unix Time-Sharing System
Optional: read The UNIX Time-Sharing System
HW2, Sol2 code from class: minish.c redirsh.c pipesh.c our_yes.c our_head.c
Fri 02/03 Lab 2b due, 9:00 PM
Week 4
Mon 02/06 Background section (exceptions, interrupts, traps) 4:00-5:00. Room: UTC 1.144. Lab T released
Tue 02/07 Interrupts, Locking/concurrency/multicore I (notes) (handout) Background: Tanenbaum chapter 2.2--2.3, 2.5
Thu 02/09 Locking/concurrency/multicore II (notes) (handout) Read Software Engineering, by Mike Dahlin HW3, Sol3
Fri 02/10 Lab 3a due, 9:00 PM
Week 5
Mon 02/13 Background section (concurrent programming I), 4:00-5:00. Room: UTC 1.144. Lab 4 released
Tue 02/14 Locking/concurrency/multicore III (notes) (handout) Read chapter 3 in the xv6 book
Thu 02/16 No class. Background: Tanenbaum chapter 6 (concerning deadlock)
Background: An Introduction to Programming with Threads, by Andrew Birrell
HW4, Sol4
Fri 02/17 Lab 3b due, 9:00 PM
Week 6
Mon 02/20 Background section (concurrent programming II), 4:00-5:00. Room: UTC 1.144.
Tue 02/21 (DD) Locking/concurrency/multicore IV + Sofware safety (notes) (handout) (1) Read the Therac-25 paper. If you are off-campus, this link through the UT libraries Web proxy may be useful.
(2) While you are reading, view these two helpful graphics, which nicely illustrate linear accelerators and problems that they have caused.
(3) Read this recent New York Times article and at least the first two pages of this fairly recent one (make sure you see the pictures).
Thu 02/23 Linking/loading (notes) (handout) HW5, Sol5
Fri 02/24 Lab T due, 9:00 PM
Week 7
Tue 02/28 (DD) Guest lecture (Jon Howell): Binary rewriting (Jon's demo and slide kit) Please follow the instructions here. Note that laptops are encouraged for this class.
Thu 03/01 (DD) Sandboxing and SFI (notes) Read Efficient Software-Based Fault Isolation, Proc. SOSP, 1993
Web proxy for ACM digital library
Fri 03/02 Lab 4a due, 9:00 PM
Week 8
Tue 03/06 (DD) Kernel design (notes) Read Improving IPC by kernel design, Proc. SOSP, 1993
Web proxy for ACM digital library
Wed 03/07 Background section (IO) 5:00-6:00. Room: ACES 6.302.
Thu 03/08 (DD) Kernel design II (notes) Read Exokernel: An Operating System Architecture for Application-Level Resource Management, Proc. SOSP, 1995
Fri 03/09 Lab 4b due, 9:00 PM
Spring break
Tue 03/13 No class
Thu 03/15 No class
Week 9
Tue 03/20 (DD) Kernel design III (notes) Read the Tanenbaum-Torvalds debates and Andy Tanenbaum hasn't learned anything
Tue 03/20 Midterm review, 8:00-9:30 PM, ETC 2.114
Thu 03/22 Midterm
Week 10
Mon 03/26 Lab 5 released
Tue 03/27 File systems I (notes) Background: Tanenbaum 4--4.3.6, 4.4--4.4.4 (skim), 4.5.3 HW6, Sol6
Wed 03/28 Background section (Filesystems I), 5:00-6:00. Room: ACES 6.302.
Thu 03/29 (DD) File systems II (notes) Read The design and implementation of a log-structured file system. If you are off-campus, this link through the UT libraries Web proxy may be useful. HW7, Sol7 Mike Dahlin's notes on LFS may be helpful
Fri 03/30 Lab 4c due, 9:00 PM
Week 11
Mon 04/02 Lab 6 released
Tue 04/03 Scheduling (notes) Read Tanenbaum 2.4
Wed 04/04 Background section (IO/Device Drivers I), 5:00-6:00. Room: ACES 6.302.
Thu 04/05 (DD) Scheduling, I/O (notes) Read Eliminating Receive Livelock in an Interrupt-driven Kernel, Proc. Usenix Technical, 1996
Background: Tanenbaum 5.4 (skim 5.4.1, skip 5.4.4)
HW8, Sol8
Fri 04/06 Lab 5 due, 9:00 PM
Week 12
Tue 04/10 Networking I (notes) Background: crash course in networking: sections 7--7.3, 7.4--7.4.3, 7.4.5, 7.5 (skim), 7.6 (skim), 7.7--7.9.1, 7.9.4 in Saltzer's and Kaashoek's textbook on systems principles Lab 7 released
Wed 04/11 Background section (IO/Device Drivers II), 5:00-6:00. Room: ACES 6.302.
Thu 04/12 (DD) Networking II (notes) Read The Design Philosophy of the DARPA Internet Protocols, Proc. SIGCOMM 1988
Through the UT libraries Web proxy
HW9, Sol9
Fri 04/13 Lab 6a due, 9:00 PM
Week 13
Tue 04/17 (DD) Transactions (notes) Read Operating Systems Transactions, Proc. SOSP, 2009
Through the UT libraries Web proxy
Thu 04/19 (DD) Determinator (notes) (handout) Read Efficient System-Enforced Deterministic Parallelism, Proc. OSDI, 2010
Fri 04/20 Email lab 7 proposal and project teams by 3:00 PM
Lab 6b due, 9:00 PM
Week 14
Tue 04/24 (DD) Virtual machines and virtualization (notes) Read Virtual Memory Management in VMware ESX Server, Proc. OSDI, 2002
You may also be interested to skim Disco: Running Commodity Operating Systems on Scalable Multiprocessors, Proc. SOSP, 1997
Thu 04/26 (DD) Security I (notes) (handout) Read Secure File Nets, Proc. SOSP, 2003
Tanenbaum: Read 9--9.1. Skim 9.2. Read 9.3. Read 9.6.
HW10, Sol10
Fri 04/27 Lab 7a due, 9:00 PM
Week 15
Tue 05/01 Security II (notes) Read Reflections on trusting trust. Note: this classic is only three pages, but the length is deceptive. It may take a few slow and careful readings to really see what Thompson did. Please read it several times before class; a skim will not be useful. You may enjoy reading about self-reproducing zipfiles, by Russ Cox
Thu 05/03 Security III and wrap-up (notes) Tanenbaum: Read 9.4--9.5. Skim 9.7-9.7.2. Read 9.7.3. Skim 9.7.4. Read 9.7.5.
Skim Mike Dahlin's notes on security
HW11, Sol11
Exams and project
Tue 05/08 Study/review session, 8:00-9:30 PM, ECJ 1.214 (notes)
Thu 05/10 Final exam, 7:00 PM--10:00 PM, CBA 4.344
Mon 05/14 Lab 7b due, 9:00 PM (hard deadline; no late hours can be spent)

Last updated: Tue May 08 21:54:03 -0500 2012 [validate xhtml]