Note that this schedule may change.
Topics | Reading assignment (to be completed before class) |
Homework (non-graded exercises) | Notes | |
---|---|---|---|---|
Week 1 | ||||
Tue 01/19 | Introduction (notes) | Lab 1 released, Lab 2 released | ||
Thu 01/21 | 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/26 | Processes (notes) (handout) | Tanenbaum chapter 1 (one), 2.1 | ||
Wed 01/27 | Lab 1 due, 11:59 PM | |||
Thu 01/28 | Virtual memory I: Address translation and protection, x86 page tables (notes) (handout) | chapters 5 and 6 in 80386 | HW1, Sol1 | |
Week 3 | ||||
Tue 02/02 | Virtual Memory II: paging (notes) (handout) | Tanenbaum 3--3.3 | ||
Thu 02/04 | Paging (continued) (notes) | Tanenbaum 3.4--3.6 | HW2, Sol2 | Lab 3 released |
Week 4 | ||||
Tue 02/09 | No class. There will be an assigned video over the weekend of Feb. 13/14 | Tanenbaum 3.7 (segmentation) | ||
Wed 02/10 | Lab 2 due, 11:59 PM | |||
Thu 02/11 | Replacement policies (notes) | Tanenbaum 2.2 | HW3, Sol3 | |
Fri 02/12 | Threads (by video) (notes) (handout) | Watch video before class on Tuesday (EID needed to gain access to the video). You will need the handout; the notes may be helpful too. | Lab T released | |
Week 5 | ||||
Tue 02/16 | Managing concurrency: mutual exclusion (notes) (handout) | Tanenbaum 2.3, 2.5 Optional but recommended: Software Engineering, by Mike Dahlin |
Original handout had typos. Current link is fixed. Here's the diff. | |
Wed 02/17 | Lab 3A due, 11:59 PM | |||
Thu 02/18 | Managing concurrency: more synchronization primitives (notes) (handout) | Read An Introduction to Programming with Threads, by Andrew Birrell | HW4, Sol4 | |
Fri 02/19 | Lab 4 released | |||
Week 6 | ||||
Tue 02/23 | Managing concurrency (continued) (notes) (handout) | Tanenbaum 6 | ||
Wed 02/24 | Lab T due, 11:59 PM | |||
Thu 02/25 | Synchronization trade-offs, deadlocks (notes) (handout) | Work through the sleeping barber example question | HW5, Sol5 | Handout in class had a typo. The current link has it fixed. Here's the diff. |
Week 7 | ||||
Tue 03/02 | Synchronization trade-offs (continued), avoiding concurrency, scheduling intro (notes) (handout) | Tanenbaum 2.4 | ||
Wed 03/03 | Lab 3B due, 11:59 PM | |||
Thu 03/04 | Scheduling continued. OS Organization: microkernels, exokernels (notes) | Read the Tanenbaum-Torvalds debates Read Improving IPC by kernel design, Proc. SOSP, 1993 (read Sections 1--5.3.6, 5.6--6, and the Appendix). If you are off-campus, this link through the UT libraries Web proxy may be useful. |
HW6, Sol6 | |
Week 8 | ||||
Mon 03/08 | Midterm review (notes) | |||
Tue 03/09 | IPC performance, Software safety (notes) (handout) | Read Therac-25 paper. If you are off-campus, this link through the UT libraries Web proxy may be useful. Also read (at least the first two pages of) this recent New York Times article. |
||
Thu 03/11 | Midterm | |||
Fri 03/12 | Recommended completion date for Lab 4A | |||
Spring break | ||||
Tue 03/16 | No class | |||
Thu 03/18 | No class | Lab 5 released | ||
Week 9 | ||||
Tue 03/23 | I/O and disks (notes) | Tanenbaum 5-5.4 (skim 5.4.1, skip 5.4.4) | ||
Thu 03/25 | File systems I (notes) | Tanenbaum 4-4.3.4 | HW7, Sol7 | |
Fri 03/26 | Lab 4A and 4B due, 11:59 PM | |||
Week 10 | ||||
Tue 03/30 | File systems II (notes) | Tanenbaum: read 4.3.5-4.3.6, skim 4.4-4.4.4, read 4.5.3 | ||
Thu 04/01 | Crash recovery (notes) | no reading | HW8, Sol8 | |
Fri 04/02 | Lab 4C due, 11:59 PM | |||
Week 11 | ||||
Tue 04/06 | Journaling, 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. | Lab 6 released Mike Dahlin's notes on LFS may be helpful |
|
Thu 04/08 | Transactions, Client/Server, RPC, NFS (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/09 | Lab 5 due, 11:59 PM | |||
Week 12 | ||||
Tue 04/13 | NFS, Networking I (notes) | Crash course in networking: read 7--7.3 in Saltzer's and Kaashoek's textbook on systems principles | ||
Thu 04/15 | 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/16 | Lab 7 released | |||
Week 13 | ||||
Tue 04/20 | Networking III (notes) | no reading | ||
Thu 04/22 | Guest lecture (Keith Winstein): Copyright law and copy protection | Read this short interview of Jack Valenti (by our guest lecturer, Keith), and watch this short video of a freezing attack on RAM. | HW11, Sol11 | |
Fri 04/23 | Email lab 7 proposal and project teams by 3:00 PM Lab 6 due, 11:59 PM |
|||
Week 14 | ||||
Tue 04/27 | 2PC, Virtual machines (notes) | Tanenbaum 8.3 | ||
Thu 04/29 | Virtual machines, Security I (stack smashing) (notes) (handout) | Tanenbaum: Read 9--9.3.3. Skim 9.3.4--9.3.6. Read 9.3.7--9.3.8. Skim 9.4--9.5. Read 9.6. Skim 9.7-9.7.2. Read 9.7.3. Skim 9.7.4. Read 9.7.5. | HW12, Sol12 | |
Week 15 | ||||
Mon 05/03 | Email whether doing an in-class final project demo by 9:00 PM | |||
Tue 05/04 | 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/06 | Demos, Security III, and Wrap-up (notes) | Read the Secure File Nets paper (it's probably most important to understand the figures and graphs in this paper) | If you are interested in computer security, you may enjoy reading Mike Dahlin's notes on security, which have some great examples and advice | |
Sun 05/09 | Lab 7 due, 9:00 PM | |||
Exam week | ||||
Another exam week | ||||
Sun 05/16 | Study session, 7:00-9:00 PM, TAY 3.128 (notes) | |||
Tue 05/18 | Final exam, 9:00 AM--12:00 PM, ECJ 1.204 |
Last updated: Sun May 16 20:55:45 -0500 2010 [validate xhtml]