Note that this schedule may change.
Topics | Reading assignment (to be completed before class) |
Homework (non-graded exercises) | Notes | |
---|---|---|---|---|
Week 1 | ||||
Tue 01/18 | Introduction (notes) | Lab 1 released, Lab 2 released | ||
Thu 01/20 | 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/25 | gcc calling convention, user/kernel interaction, processes (notes) (handout) | Tanenbaum chapter 1 (one), 2.1 | ||
Wed 01/26 | Lab 1 due, 9:00 PM | |||
Thu 01/27 | Processes (continued). Virtual memory I: Address translation and protection, segmentation (notes) (handout) | chapters 5 and 6 in 80386 | HW1, Sol1 | Lab 3 released |
Week 3 | ||||
Mon 01/31 | Lab 2a due, 9:00 PM | |||
Tue 02/01 | Virtual Memory II: paging (notes) (handout) | Tanenbaum 3--3.3 | ||
Tue 02/01 | Review session, 8:00-9:30 PM. Room: WRW 113. | |||
Thu 02/03 | Virtual Memory III: page faults (notes) (handout) | Tanenbaum 3.4--3.7 | HW2, Sol2 | Lab T released |
Fri 02/04 | Lab 2b due, 9:00 PM | |||
Week 4 | ||||
Tue 02/08 | Virtual Memory IV: replacement policies (notes) | Tanenbaum 2.2 | ||
Thu 02/10 | Concurrency I: Threads (notes) (handout) | Tanenbaum 2.3, 2.5 Optional but recommended: Software Engineering, by Mike Dahlin |
HW3, Sol3 | |
Fri 02/11 | Lab 3a due, 9:00 PM | |||
Week 5 | ||||
Tue 02/15 | Concurrency II: Threads, Mutual exclusion (notes) (handout) | Read An Introduction to Programming with Threads, by Andrew Birrell | ||
Thu 02/17 | Concurrency III: Spinlocks, mutexes, condition variables, monitors (notes) (handout) | Tanenbaum 6 | HW4, Sol4 | Class handout had errors. Current link is fixed. Here's the diff. |
Fri 02/18 | Lab 3b due, 9:00 PM | |||
Week 6 | ||||
Tue 02/22 | Concurrency IV: Practice with monitors, deadlock (notes) (handout) | Work through the sleeping barber example question | ||
Thu 02/24 | Concurrency V: Trade-offs and problems from locking (notes) (handout) | Read the Tanenbaum-Torvalds debates and Andy Tanenbaum hasn't learned anything | HW5, Sol5 | |
Fri 02/25 | Lab T due, 9:00 PM | |||
Week 7 | ||||
Tue 03/01 | Software 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 03/03 | OS organization, Scheduling (notes) | Tanenbaum 2.4 | HW6, Sol6 | |
Fri 03/04 | Lab 4a due, 9:00 PM | |||
Week 8 | ||||
Mon 03/07 | Midterm review, 7:30--9:00 PM, WEL 2.308 (notes) | |||
Tue 03/08 | Scheduling (notes) | |||
Thu 03/10 | Midterm | |||
Spring break | ||||
Tue 03/15 | No class | |||
Thu 03/17 | No class | |||
Week 9 | ||||
Tue 03/22 | I/O, Disks (notes) | Tanenbaum 5-5.4 (skim 5.4.1, skip 5.4.4) | ||
Thu 03/24 | Disks, File systems I (notes) | Tanenbaum 4-4.3.4 | HW7, Sol7 | Lab 5 released |
Fri 03/25 | Lab 4b due, 9:00 PM | |||
Week 10 | ||||
Tue 03/29 | File systems II (notes) | Tanenbaum: read 4.3.5-4.3.6, skim 4.4-4.4.4, read 4.5.3 | ||
Thu 03/31 | No class. There will be an assigned video over Apr. 8-10 | HW8, Sol8 | ||
Fri 04/01 | Lab 4c due, 9:00 PM | Lab 6 released | ||
Week 11 | ||||
Tue 04/05 | Crash recovery, LFS (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. | Mike Dahlin's notes on LFS may be helpful | |
Thu 04/07 | Transactions (notes) | Tanenbaum: skim 8.2--8.2.3, and read 8.2.4. This will be useful background for the following paper: Read Design and Implementation of the Sun Network File System, Proc. Summer USENIX Conference, 1985 |
HW9, Sol9 | Nice table by Don Porter showing different places transactions show up |
Fri 04/08 | Client/Server, RPC, NFS (by video) (notes) Lab 5 due, 9:00 PM |
Watch video before class on Tuesday (EID needed to gain access to the video). You may wish to print out the class notes and follow along. | Lab 7 released | |
Week 12 | ||||
Tue 04/12 | Networking I (notes) | Crash course in networking: read 7--7.3 in Saltzer's and Kaashoek's textbook on systems principles | ||
Thu 04/14 | Networking II (notes) | Crash course in networking, continued: again in Saltzer and Kaashoek, read 7.4--7.4.3, ignore 7.4.4, read 7.4.5, skim 7.5 and 7.6 (but make sure you have a sense for what problems those sections are describing), read sidebar 7.5, read 7.7--7.9.1, read 7.9.4 | HW10, Sol10 | |
Fri 04/15 | Lab 6a due, 9:00 PM | |||
Week 13 | ||||
Tue 04/19 | Networking III, Two generals' problem, 2PC (notes) | Read An Access Control Hierarchy for Secure File Logging | ||
Thu 04/21 | Guest lecture (Keith Winstein): Copyright law and copy protection | (1) Read this short interview of Jack Valenti (by our guest lecturer, Keith); and (2) Read Keeping Secrets in Hardware: the Microsoft XBox(TM) Case Study; and (3) Read George Hotz's memo on how he obtained control of the PlayStation 3 from an unprivileged process |
HW11, Sol11 | You might be interested in Mike Dahlin's notes on 3-phase commit (3PC) |
Fri 04/22 | Email lab 7 proposal and project teams by 3:00 PM Lab 6b due, 9:00 PM |
|||
Week 14 | ||||
Tue 04/26 | Guest lecture (Jon Howell): Binary rewriting (Jon's demo and slide kit) | Read ATOM: A System for Building Customized Program Analysis Tools, PLDI 1994 Optional: you may enjoy reading an early paper on sandboxing: Efficient Software-Based Fault Isolation, SOSP 1993. Also optional: you may also enjoy reading a recent paper that makes funky use of segmentation hardware to implement sandboxing on the x86: Vx32: Lightweight, User-level Sandboxing on the x86, USENIX, 2008 |
||
Thu 04/28 | Security I: stack smashing (notes) (handout) | Tanenbaum: Read 9--9.1. Skim 9.2. Read 9.3. Read 9.6. | HW12, Sol12 | |
Fri 04/29 | Lab 7a due, 9:00 PM | |||
Week 15 | ||||
Tue 05/03 | 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/05 | 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 |
||
Sat 05/07 | Study/review session, 6:00-8:00 PM, BUR 220 (notes) | |||
Exams and project | ||||
Thu 05/12 | Final exam, 7:00 PM--10:00 PM, UTC 1.130 | |||
Mon 05/16 | Lab 7b due, 9:00 PM (hard deadline; no late hours can be spent) |
Last updated: Sat May 07 21:23:28 -0500 2011 [validate xhtml]