OS & Computer Architecture
How a program becomes a process, system calls, the CPU's fetch-decode-execute cycle, ISAs, caches and pipelines — every example run for real on Linux.
Lessons
- The Memory Hierarchy and Caches
- Virtual Memory and Paging
- Page Replacement
- Memory Allocation: malloc, Fragmentation and Allocators
- File Systems
- I/O Systems and Storage
- From Source Code to Silicon: The Layers of a Computer
- Data Representation: Binary, Two's Complement, Floating Point and Endianness
- Digital Logic: Gates, Adders, Multiplexers and Flip-Flops
- CPU Organization: ALU, Registers, Control Unit and Buses
- Instruction Set Architectures: CISC, RISC, x86-64, ARM and RISC-V
- The Fetch–Decode–Execute Cycle
- Assembly Language and Calling Conventions
- Pipelining and Hazards
- Branch Prediction, Superscalar and Out-of-Order Execution
- Multicore, Cache Coherence and Memory Ordering
- Virtualization and Containers
- Booting, Protection and Platform Security
- Performance Analysis
- Capstone: Tracing a System Call from Your Code Down to Silicon
- OS and Computer Architecture Interview Questions
- Practice Exercises
- OS and Computer Architecture Cheat Sheet
- Final Quiz
- Learning Roadmap
- What to Learn Next & Final Checklist
- What an Operating System Does: Kernel, User Mode and OS Structures
- From Program to Process: Compiling, Linking, ELF and Loading
- Processes: Address Spaces, the PCB, States, fork, exec and wait
- System Calls: Crossing into the Kernel
- Interrupts, Exceptions and Signals
- Threads
- CPU Scheduling
- Synchronization: Races, Mutexes, Semaphores and Condition Variables
- Deadlock
- Inter-Process Communication
- Course Overview & Running Example