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]