Operating Systems: Three Easy Pieces

37 of 456 pages built

Prefatory material

Prefatory Material0/3

Introduction

Chapter 1: A Dialogue on the Book1/1
Chapter 2: Introduction to Operating Systems8/8

I Virtualization

Chapter 3: A Dialogue on Virtualization1/1
Chapter 4: The Abstraction: The Process7/7
Chapter 5: Interlude: Process API8/8
Chapter 6: Mechanism: Limited Direct Execution6/6
Chapter 7: Scheduling: Introduction0/11
Chapter 8: Scheduling: The Multi-Level Feedback Queue0/7
Chapter 9: Scheduling: Proportional Share0/9
Chapter 10: Multiprocessor Scheduling (Advanced)0/8
Chapter 11: Summary Dialogue on CPU Virtualization1/1
Chapter 12: A Dialogue on Memory Virtualization1/1
Chapter 13: The Abstraction: Address Spaces0/6
Chapter 14: Interlude: Memory API0/8
Chapter 15: Mechanism: Address Translation0/7
Chapter 16: Segmentation0/8
Chapter 17: Free-Space Management0/6
Chapter 18: Paging: Introduction2/7
Chapter 19: Paging: Faster Translations (TLBs)0/9
Chapter 20: Paging: Smaller Tables0/7
Chapter 21: Beyond Physical Memory: Mechanisms1/8
Chapter 22: Beyond Physical Memory: Policies0/13
Chapter 23: Complete Virtual Memory Systems0/4
Chapter 24: Summary Dialogue on Memory Virtualization1/1

II Concurrency

Chapter 25: A Dialogue on Concurrency0/1
Chapter 26: Concurrency: An Introduction0/8
Chapter 27: Interlude: Thread API0/7
Chapter 28: Locks0/18
Chapter 29: Lock-based Concurrent Data Structures0/6
Chapter 30: Condition Variables0/5
Chapter 31: Semaphores0/9
Chapter 32: Common Concurrency Problems0/5
Chapter 33: Event-based Concurrency (Advanced)0/10
Chapter 34: Summary Dialogue on Concurrency0/1

III Persistence

Chapter 35: A Dialogue on Persistence0/1
Chapter 36: I/O Devices0/11
Chapter 37: Hard Disk Drives0/7
Chapter 38: Redundant Arrays of Inexpensive Disks (RAIDs)0/11
Chapter 39: Interlude: Files and Directories0/19
Chapter 40: File System Implementation0/9
Chapter 41: Locality and The Fast File System0/9
Chapter 42: Crash Consistency: FSCK and Journaling0/6
Chapter 43: Log-structured File Systems0/14
Chapter 44: Flash-based SSDs0/13
Chapter 45: Data Integrity and Protection0/10
Chapter 46: Summary Dialogue on Persistence0/1

Distribution

Chapter 47: A Dialogue on Distribution0/1
Chapter 48: Distributed Systems0/6
Chapter 49: Sun’s Network File System (NFS)0/13
Chapter 50: The Andrew File System (AFS)0/10
Chapter 51: Summary Dialogue on Distribution0/1

Security chapters present in this PDF but absent from its printed contents

Chapter 52: A Dialogue on Security0/1
Chapter 53: Introduction to Operating System Security0/6
Chapter 54: Authentication0/8
Chapter 55: Access Control0/7
Chapter 56: Protecting Information With Cryptography0/9
Chapter 57: Distributed System Security0/8

Appendices

Appendix A: A Dialogue on Virtual Machine Monitors0/1
Appendix B: Virtual Machine Monitors0/6
Appendix C: A Dialogue on Monitors0/1
Appendix D: Monitors (Deprecated)0/10
Appendix E: A Dialogue on Labs0/1
Appendix F: Laboratory: Tutorial0/10
Appendix G: Laboratory: Systems Projects0/9
Appendix H: Laboratory: xv6 Projects0/12