This is a first attempt at curating a list of awesome OS papers and resources. Got a paper to add? Got a better way to organize? Comment or pull request! Contribution Guidelines
- Papers
- Scalable Systems
- Parallelism
- Distributed Systems
- Virtualization
- Realtime
- Verification
- Storage
- Library OS
- Monitoring / Debugging
- Dynamically Reconfigurable / Adaptive
- Classics / Seminal Papers
- I/O
- *Kernels
- Transactions (is this the right label?)
- Scheduling
- Secure systms
- Theory
- Big Stuff
- File Systems
- Surveys
- Blogs
- Tools
- Research Groups
- Scalable Commutativity Rule - Stub description.
- Barrelfish:
- Hotos Barrelfish - Stub description.
- SOSP Barrelfish - Stub description.
- Tornado - Stub description.
- Corey: An Operating System for Many Cores - Stub description.
- Disco - Stub description.
- Project Kittyhawk: Building a Global-Scale Computer - Stub description.
- EbbRT - Stub description.
- Efficient system-enforced deterministic parallelism - Stub description.
- Jails - Stub description.
- Solaris Zones - Stub description.
- The Turtles Project: Design and Implementation of Nested Virtualization - Stub description.
- Xen and the Art of Virtualization - Stub description.
- Live Migration of Virtual Machines in Cloud - Stub description.
- kvm: the Linux Virtual Machine Monitor - Stub description.
- seL4 - Stub description.
- Ramcloud - Stub description.
- Pivot Tracing: Dynamic Causal Monitoring for Distributed Systems - Stub description.
- COZ: Finding Code that Counts with Causal Profiling - Stub description.
- REX: A Development Platform and Online Learning Approach for Runtime Emergent Software Systems - Stub description.
- Event vs. Thread - Stub description.
- VMM vs Microkernel - Stub description.
- Unix Time Sharing - Stub description.
- Reflections on Trusting Trust - Stub description.
- Arrakis: The Operating System is the Control Plane - Stub description.
- Exokernels - Stub description.
- Improving PIC by Kernel Design - Stub description.
- On Micro-Kernel Construction - Stub description.
- The Performance of Micro-Kernel-Based Systems - Stub description.
- User IPC - Stub description.
- Design Guidelines for High Performance RDMA Systems - Stub description.
- On the Duality of Operating System Structures - Stub description.
- Spanner: Google’s Globally Distributed Database - Stub description.
- The Google File System - Stub description.
- Corbató: An Experimental Time-Sharing System - Stub description.
- Dijkstra: The Structure of the "THE" Multiprogramming System - Stub description.
- Kilburn: One Level Storage System - Stub description.
- Daley: Virtual Memory, Processes, and Sharing in MULTICS - Stub description.
- Bensoussan: The Multics Virtual Memory System: Concepts and Design - Stub description.
- Rashid: From RIG to Accent to Mach: The Evolution of a Network Operating System - Stub description.
- Leidtke: On micro-kernel Construction - Stub description.
- Baumann: The Multikernel: A New OS Architecture for Scalable Multicore Systems - Stub description.
- Meyer: A virtal machine time-sharing system - Stub description.
- Bugnion: Disco: running commodity operating systems on scalable multiprocessors - Stub description.
- Microkernels Meet Recursive Virtual Machines - Stub description.
- Waldspurger: Memory Resource Management in VMware ESX Server - Stub description.
- Reimplementing the Cedar File System Using Logging and Group Commit - Stub description.
- Rosenblum: The Design and Implementation of a Log-Structured File System - Stub description.
- Sandberg: Design and Implementation of the Sun Network Filesystem - Stub description.
- Howard: Scale and Performance in a Distributed File System - Stub description.
- Min: SFS: Random Write Considered Harmful in Solid State Drives - Stub description.
- Rumble: Log-structured Memory for DRAM-based Storage - Stub description.
- Schroeder: Experience with Grapevine: The Growth of a Distributed System - Stub description.
- Anderson: Serverless Network File Systems - Stub description.
- Stoica: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications - Stub description.
- Rowstrom: Storage management and caching in PAST - Stub description.
- Ghemewat: The Google File System - Stub description.
- Mickens: Blizzard: Fast, Cloud-scale Block Storage for Cloud-oblivious Applications - Stub description.
- Dean: MapReduce: Simplified Data Processing on Large Clusters - Stub description.
- Baumann: Shielding Applications from an Untrusted Cloud with Haven - Stub description.
- Herlihy: Transactional Memory: Architectural Support for Lock-Free Data Structure - Stub description.
- Damron: Hybrid Transactional Memory - Stub description.
- Clements: The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors - Stub description.
- Mateev: Matveev: Read-Log-Update: A Lightweight Synchronization Mechanism for Concurrent Programming - Stub description.
- A Study of Modern Linux API Usage and Compatibility: What to Support When You're Supporting - Stub description.
- The Linux Scheduler: a Decade of Wasted Cores - Stub description.
- Rinard: Enhancing Server Availability and Security Through Failure-Oblivious Computing - Stub description.
- Qin: Rx: Treating Bugs as Software Allergies -- A Safe way to Survive Software Failures - Stub description.
- Engler: Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code - Stub description.
- Wang: Towards Optimization-Safe Systems: Analyzing the Impact of Undefined Behavior - Stub description.
- Zeldovich: Making Information Flow Explicit in HiStar - Stub description.
- Tice: Enforcing Forward-Edge Control-Flow Integrity in GCC and LLVM - Stub description.
- Julia Evans - Stub description.
- Live Grep Linux Source - Stub description.
- Free Electrons, Browse Linux Source - Stub description.