Operating Systems Part 2: Further Readings
Linux: Disk, Network, and Other I/Os
- Fischer, Linux Storage Stack Diagram. A much more detailed overview of the components of the Linux storage stack.
- (book) Love, Linux Kernel Development. Old but still relevant, check out chapters 13-16.
- (book) Bovet and Cesati, Understanding the Linux Kernel. Check out chapters from “The Virtual Filesystem” up to “The ext3 Filesystem”.
- Mathur et al., The new ext4 filesystem: current status and future plans. Describes the ext4 filesystem’s design (ext4 is the default concrete root filesystem in most Linux distribution).
- (book) Benvenuti, Understanding Linux Network Internals.
- (book) Corbet et al., Linux Device Drivers.
OS Security Concepts
- Chen et al., Linux Kernel Vulnerabilities: State-of-the-Art Defenses and Open Problems.
- Wang et. al., How Double-Fetch Situations turn into Double Fetch Vulnerabilities: A Study of Double Fetches in the Linux Kernel.
- Kemerlis et al., kGuard: Lightweight Kernel Protection against Return-to-user Attacks.
- Kemerlis et al., ret2dir: Rethinking Kernel Isolation.
- Hardy, The Confused Deputy: (or why capabilities might have been invented).
- Linux Test Project Contributors, Linux Test Project’s GitHub repository.
- Google, Syzkaller’s GitHub repository.
- (book) Jaeger, Operating System Security.
- Anderson, Security Engineering. Chapters available for free in PDF here.
Trusted Execution Environments
- Georgia Tech’s SSLAB, SGX 101.
- Confidential Computing Consortium, A Technical Analysis of Confidential Computing.
- ARM documentation, Learn the architecture - TrustZone for AArch64.
OS Models and Security
- Herder et al., MINIX 3: A highly reliable, self-repairing operating system.
- Biggs et al., The Jury Is In: Monolithic OS Design Is Flawed, Microkernel-based Designs Improve Security.
- Engler et al., Exokernel: An operating system architecture for application-level resource management.
- Madhavapeddy et al., Unikernels: Library Operating Systems for the Cloud.