🖥 Operating Systems
Based on Wikipedia, licensed CC BY-SA 4.0.
How software manages hardware: processes, memory, files, and protection. Translated into runnable code and diagrams.
| Chapter | |||
|---|---|---|---|
| 1. | Processes | A program in execution with its own state, context, and lifecycle | 🖥 |
| 2. | Scheduling | Deciding which process runs next and for how long | 🖥 |
| 3. | Threads and Concurrency | Lightweight execution within a process sharing the same address space | 🖥 |
| 4. | Synchronization | Coordinating concurrent access to shared resources without corruption | 🖥 |
| 5. | Deadlock | When processes wait forever in a cycle of held resources | 🖥 |
| 6. | Memory Management | Translating virtual addresses to physical memory through paging and segmentation | 🖥 |
| 7. | Virtual Memory | The illusion of infinite memory backed by disk and page replacement | 🖥 |
| 8. | File Systems | Organizing persistent data into files, directories, and metadata | 🖥 |
| 9. | I/O Systems | Moving data between CPU and devices via polling, interrupts, and DMA | 🖥 |
| 10. | Protection and Security | Controlling who can access what through access matrices and encryption | 🖥 |
📺 Video lectures: MIT 6.828 Operating System Engineering
Neighbors
- ⚙ Algorithms — scheduling and memory management are algorithmic problems
- 🌐 Distributed Systems — distributed OS and consensus protocols
- 🪄 Programming — concurrency and streams connect to SICP
- 🔐 Cryptography — trusted execution and protection mechanisms