| Concurrency |
| Experience with Processes and Monitors in Mesa |
Lampson, Redell |
| Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism |
Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy |
| Borrowed-Virtual-Time (BVT) scheduling: supporting latency-sensitive threads in a general-purpose scheduler |
Duda and Cheriton |
| An Investigation of the Therac-25 Accidents |
Leveson and Turner |
| Eraser: A Dynamic Data Race Detector for Multithreaded Programs |
Stefan Savage |
| Capriccio: Scalable Threads for Internet Services |
Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric Brewer |
| Why Threads Are a Bad Idea (for most purposes) |
John Ousterhout |
| Cooperative Task Management without Manual Stack Management (up to and including Section 3) |
Atul Adya, Jon Howell, Marvin Theimer, William J. Bolosky, John R. Douceur |
| Threads cannot be implemented as a library |
Hans-J. Boehm |
| Virtual Memory |
| Virtual Memory Primitives for User Programs |
Appel and Li |
| Virtual Memory Management in the VAX/VMS Operating System |
Levy and Lipman |
| Practical, Transparent, Operating System Support for Superpages |
Navarro, Iyer, Druschel, and Cox |
| Memory Resource Management in VMware ESX Server |
Waldspurger |
| Reliability |
| Improving the Reliability of Commodity Operating Systems [Nooks] |
Swift, Bershad, Levy |
| A Dynamic Technique for Eliminating Buffer Overflow Vulnerabilities (and Other Memory Errors) |
Rinard, Cadar, Dumitran, Roy, Leu |
| Enhancing Server Availability and Security Through Failure-Oblivious Computing |
Rinard, Cadar, Dumitran, Roy, Leu, Beebee |
| Networking |
| Eliminating Receive Livelock in an Interrupt-Driven Kernel |
Mogul and Ramakrishnan |
| The End to End Argument in System Design |
Saltzer, Reed, Clark |
| File Systems |
| The HP AutoRAID hierarchical storage system |
John Wilkes, Richard Golding, Carl Staelin, and Tim Sullivan |
| Design and Implementation of the SUN Network Filesystem |
Sandberg et al. |
| The Design and Implementation of a Log-Structured File System |
Rosenblum and Ousterhout |
| Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency |
Gray and Cheriton |
| A Low-Bandwidth Network File System |
Muthitacharoen, Chen, and Mazieres |
| MapReduce: Simplified Data Processing on Large Clusters |
Dean and Ghemawat |
| Soft Updates: A Solution to the Metadata Update Problem in File Systems |
McKusick, Ganger |
| A Case for Redundant Arrays of Inexpensive Disks (RAID) |
Patterson, Gibson, and Katz |
| Virtualization |
| Xen and the Art of Virtualization |
Barham et. al |
| A Comparison of Software and Hardware Techniques for x86 Virtualization |
Adams and Ageson |
| Distributed Systems |
| The Chubby lock service for loosely-coupled distributed systems |
Burrows |
| OS Security |
| Making Information Flow Explicit in HiStar |
Nickolai Zeldovich, Silas Boyd-Wickizer, Eddie Kohler, and David Mazi`eres |
| Experience |
| Application Performance and Flexibility on Exokernel Systems |
Kaashoek et. al |
| The Rise of "Worse is Better" |
Richard Gabriel |
| Hints for Computer System Design |
Butler Lampson |