A curated list of awesome resources on operating system design and implementation.
Some of the conferences where to find publications on operating systems research:
- ACM Architectural Support for Programming Languages and Operating Systems (ASPLOS)
- ACM Symposium on Operating Systems Principles (SOSP)
- USENIX Annual Technical Conference (ATC)
- USENIX Symposium on Operating Systems Design and Implementation (OSDI)
- Horkshop on Hot Topics in Operating Systems (HotOS)
"The UNIX Time-Sharing System" (1974) by Dennis M. Ritchie and Ken Thompson.
The seminal paper on the UNIX operating system by its creators.
"Exokernel: An Operating System Architecture for Application-Level Resource Management" (1995) by Dawson R. Engler et al.
The exokernel approach aims to eliminate operating system abstractions by having a small kernel that exports hardware resources with a low-level interface to untrusted library operating systems.
"The Design and Implementation of an Operating System to Support Distributed Multimedia Applications" (1996) by Ian Leslie et al. IEEE Journal on Selected Areas in Communications
"Corey: An Operating System for Many Cores" (2008) by Silas Boyd-Wickizer et al. OSDI '08
"The Multikernel: A new OS architecture for scalable multicore systems" (2009) by Andrew Baumann et al. SOSP '09
This paper describes the multikernel design approach to operating system kernels, which aims to improve scalability, and support heterogenenous and diverse hardware. There's also an awesome retrospective.
"seL4: Formal Verification of an OS Kernel" (2009) by Gerwin Klein et al. SOSP '09
This paper describes seL4, the first formally proven general-purpose operating system.
"Rethinking the Library OS from the Top Down" (2011) by Donald E. Porter et al. ASPLOS '11.
"Dune: Safe User-level Access to Privileged CPU Features" (2012) by Adam Belay et al. OSDI '12.
"Unikernels: Library Operating Systems for the Cloud" (2013) by Anil Madhavapeddy et al. ASPLOS ’13
"Arrakis: The Operating System is the Control Plane" (2014) by Simon Peter et al. OSDI '14
"IX: A Protected Dataplane Operating System for High Throughput and Low Latency" (2014) by Adam Belay et al. OSDI '14
"Multiprogramming a 64 kB Computer Safely and Efficiently" (2017) by Amit Levy et al. SOSP '17.
This paper details an operating system design where the type-safety of Rust programming language provides memory protection on MMU-less hardware.
"LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation" (2018) by Yizhou Shan et al. OSDI '18
"RedLeaf: Isolation and Communication in a Safe Operating System" (2020) by Vikram Narayanan et al. OSDI '20
"Twizzler: a Data-Centric OS for Non-Volatile Memory" (2020) by Daniel Bittman et al. ATC '20.
"The Demikernel Datapath OS Architecture for Microsecond-scale Datacenter Systems" (2021) by Irene Zhang et al. SOSP '21