Computer Science Knowledge Base
A structured, top-down path through how computers actually work: from a single instruction executing on a CPU, up through memory, storage, and the operating system, out to networks and the databases built on top of all of it. Pages favor why the layer exists and what breaks when you ignore it over trivia — grade-school basics (binary counting, "what is a computer") are skipped or covered in one line.
How this is organised
Bottom-up on hardware (CPU → Memory → Storage → Buses), then up through the Operating System that multiplexes that hardware, then out to Networks, Protocols, and Databases — the systems built using everything below them. See the Overview page for the full reasoning.
Sections
| Section | What it covers | |
|---|---|---|
| Overview | The abstraction-layer mental model and reading order | |
| Data Representation | Binary/hex, two's complement, bitwise techniques | |
| CPU & Processor Architecture | ISA, fetch-decode-execute, pipelining, superscalar/OoO, multicore | |
| Memory Hierarchy & RAM | Registers, caches, DRAM, virtual memory | |
| Storage: HDD, SSD & NVMe | Magnetic disks, NAND flash, storage interfaces | |
| Buses & I/O | Address/data/control buses, PCIe, DMA, interrupts | |
| Operating Systems | Processes/threads, scheduling, memory management, sync | |
| Assembly & Low-Level Programming | Registers, instructions, calling conventions, disassembly | |
| Computer Networks | OSI/TCP-IP models, data link, IP, TCP/UDP | |
| Application Protocols | DNS, HTTP/HTTPS, TLS | |
| Databases | Relational model, indexing, ACID, NoSQL/CAP | |
| Algorithms & Data Structures | Complexity analysis, core data structures, sorting, searching, graph algorithms, problem-solving patterns |
Suggested Reading Path
- New to systems programming: Overview → CPU & Processor Architecture → Memory Hierarchy & RAM → Operating Systems.
- Backend / infrastructure focus: Operating Systems → Computer Networks → Application Protocols → Databases.
- Performance engineering: CPU & Processor Architecture (all pages) → Memory Hierarchy & RAM → Assembly & Low-Level Programming.
Conventions used across these docs
- Figures (real diagrams and photographs) are used wherever one exists for the concept; Mermaid
is reserved for flows and decisions that no static figure captures well. Every figure carries a
caption and its source — the full list lives in
static/img/cs/SOURCES.md. - Tables are preferred over prose for comparisons.
- Admonitions flag the important bits:
infofor context,warning/dangerfor real foot-guns (security issues, performance traps). - Every page ends with a References section and a Books & Videos subsection pointing at the specific chapters, official specs, or videos worth going deeper on — this KB is meant as a map, not a replacement for the primary sources it cites.