Schedule for Witchel's Fall 2006 CS380L: Advanced Operating Systems (Announcements, Syllabus, Programming assignments, Presentations, Reviews)

Wk Date Discussion Topic Homework/
Extra Reading
1 8/30 Review syllabus and HW1. notes
How (and How Not) to Write a Good Systems Paper (Levin and Redell 1983)
2 9/4
No meeting: Labor Day.
1) Medical Devices: The Therac-25 (Levinson 1993)
2) The Rise of "Worse is Better" (Richard Gabriel)
The Task of the Referee
See Dahlin's Advice
9/6 Historical perspective & OS Design
1) THE (Dijkstra 1968)   notes
2) The UNIX Timesharing System (Ritchie and Thompson 1974)    notes 2up
HW1 in-class quiz
3 9/11 OS Design  
1) Application performance and Flexibility on Exokernel Systems (Kaashoek notes 2up
2) End-to-end Arguments in System Design (Saltzer, Reed, Clark 1984) notes 2up
Review exokernel paper.  Don't review end-to-end paper, instead apply end-to-end argument to 3 Exokernel design decisions. Exokernel: An Operating System Architecture for Appliation-Level Resource Management (Engler et al, 1995)
9/13 OS Design, Synchronization
1) Synthesis kernel (Massalin and Pu 1989) notes 2up
2) Chapter 6 from Massalin's Thesis (1992) (remainder of thesis is optional)
Hamming's Advice on Research
4 9/18 Virtual Machines and Multiprocessors
Disco: Running Commodity Operating Systems on Scalable Multiprocessors (Bugnion et al, 1997)  notes 2up
Programming Assignment 0 DUE
Historical perspective
Protection and the Control of Information Sharing in Multics (Saltzer 1974)
Multics (Daley and Dennis)  notes
List of 5 papers you can present due Monday 9/18.  Email list to Witchel.
9/20 Virtual Machines
Memory Resource Management in VMware ESX Server (Waldspurger 2002) notes 2up

5 9/25 Microkernels
1) On Micro-Kernel Construction (Liedtke 1995) notes
2) The Linux Edge (Linus Torvalds 1999)
Unix as an Application Process (Golub 1990)
Why Aren't Operating Systems Getting Faster As Fast As Hardware? (Ousterhout 1990)
Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures (Rashid et al 1987) notes  Snotes(ppt)  Snotes(pdf)
File Systems & Communication
1) Eliminating Receive Livelock in an Interrupt-driven Kernel (Mogul 1996) Snotes
2) Event-driven Programming for Robust Software (Dabek et. al. 2002)
Active Messages (vonEicken et. al. 1992)  notes
6 10/2 Threads and concurrency 
1) Experiences with Processes and Monitors in Mesa (Lampson and Redell 1980) notes Snotes
2) Why Threads Are a Bad Idea (for most purposes)(Ousterhout 1996)  notes  Snotes
3) Double checked locking is broken (Bacon) JSR 133 (Java Memory Model) FAQ (Manson) just the section on double checked locking.
Programming with Threads (Birrell 1996)
10/4 Multithreading
RaceTrack: Efficient Detection of Data Race Conditions via Adaptive Tracking (Yu et. al. 2005) notes Snote
Virtual Time and Global States of Distributed Systems (Mattern 1988)
Linearizability: A Correctness Condition for Concurrent Objects (Herlihy and Wing 1990)
 LESS SW Eng Manual
Scheduler Activations (Anderson et al)  notes Snotes
7 10/9 File Systems
1) A Fast File System for UNIX  notes 2up
2) (Optional) An Introduction to Disk Drive Modelling (Ruemmler and Wilkes 1994) Snotes
Programming Assignment 1 DUE (10/09)
10/11 File Systems
The Design and Implementation of a Log-Structured File System (Rosenblum and Ousterhout 1992)  LFS notes 2up
Ousterhout's critique of Seltzer's 1993 paper
Ousterhout's critique of Seltzer's 1995 paper
Seltzer's response to Ousterhout's critiques
Ousterhout's response to Seltzer  Snotes
8 10/16 File Systems > Integrity
Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem (McKusick and Ganger 1999) Snotes

10/18 Distributed File Systems
Scale and Performance in a Distributed File System (Howard et al, 1988)  notes 2up Snotes
9 10/23 1) Design and Implementation of the SUN Network Filesystem (Sandberg 1985) Snotes  
2) A toolkit for user-level file systems (Mazieres 2001) 
Remote Procedure Calls (Birrell and Nelson 1984)  notes   Snotes
Lessons Learned Tuning 4.3BSD Reno Implementation of the NFS Protocol (Macklem 1991)
From Dahlin's Advice:
Coping with complexity
10/25 Midterm review
10/25 Midterm 5-8pm, PAI 3.20
8 10/30 System scale
The Google File System (Ghemawat et. al. 2003)
Programming Assignment 2 DUE (10/30)
Programming Assignment 3 Plan DUE (10/30)
11/1 System scale
BigTable: A system for Distributed Structured Storage (Chang et. al. 2006)
webnotes video

10 11/6 System scale
MapReduce: Simplified Data Processing on Large Clusters (Dean and Ghemawat 2004)
From Dahlin's Advice:
The Emperor's Old Clothes
11/8 Virtual memory
Practical, transparent operating system support for superpages (Navarro et. al. 2002)
12 11/13 Database transactions
Transaction Processing: Concepts and Techniques (Jim Gray and Andreas Reuter 1985)
1.1 - 1.2.5
4.2, 4.7, 4.9
notes Snotes
Programming Assignment 3 Revised Plan DUE (11/13)
11/15 Security
1) Understanding Data Lifetime via Whole System Simulation (Chow et. al. 2004)
2) Reflections on Trusting Trust Snotes (ppt, sxi)
Shredding Your Garbage: Reducing Data Lifetime Through Secure Deallocation (Chow et. al. 2005)
Non-Control-Data Attacks Are Realistic Threats (Chen et. al. 2006)
13 11/20 Security
1) Authentication in the TAOS Operating System   TAOS notes  Snotes
2) 17 Mistakes Microsoft Made in the Xbox Security System (Steil 2005)
1)A Logic of Authentication BAN notes
2)Implementing an Untrusted Operating System on Trusted Hardware (Lie 2003)
Abadi and Needham, 1996   Prudent notes
11/22 Security
1) Fast and secure distributed read-only file system (Fu et. al. 2002) notes Snotes
2) Crisis and Aftermath (Spafford 1988)
Why Cryptosystems Fail (Ross J. Anderson 1994)
Backtracking Intrusions (King et. al. 2003)
Separating key management from file system security (Mazieres et. al. 1999)
14 11/27 Memory Protection
Mondrix: Memory Isolation for Linux Using Mondriaan Memory Protection (Witchel et. al. 2005) notes
Improving Reliability of Modern OSes (Swift 2003)
Mondrian Memory Protection (Witchel 2002)
11/29 Access Control 
1) Capability Myths Demolished (Miller 2003)
2) The Confused Deputy Snotes
 EROS: A Fast Capability System (Shapiro et. al. 1999)
15 12/4
System building experience
1) Hints for Computer System Design (Lampson 1983) Snotes
2) A Note on the Confinement Problem (Lampson  1973) Snotes
Project Presentations
Instead of a review for Hints paper, give your own hints based on your project experience.
Career and general advice
12/6 Project Presentations and review Programming Assingment 3 DUE (12/06)
12/6 Midterm 5-8pm PAI 3.20

To top of pagea

Copyright Notice: These lecture notes, homeworks, and lab assignments are part of a graduate course on operating systems. You must ask me permission to use these materials.  I do not grant to you the right to publish these materials for profit in any form.
Emmett Witchel, The University of Texas at Austin