Resource Collection
Computer Systems Resources
Free curated learning resources for computer architecture and operating systems.
Computer Architecture
Introductory Architecture Courses
-
MIT 6.004 Computation Structures (OCW)
Complete course building a CPU from logic gates. Includes lectures, recitations, exams, and projects. -
Princeton COMPARCH-1: Computer Architecture
Covers pipelining, caches, exceptions, speculation, and quantitative performance analysis. -
Saylor Academy CS301: Computer Architecture
Self-paced course covering ISA design, pipelining, memory hierarchy, and I/O systems. -
Codecademy Computer Architecture Course
Interactive lessons explaining binary representation, logic gates, instruction sets, and CPU basics. -
ETH Zürich Computer Architecture Lectures
Full lecture series explaining modern processor design including out-of-order execution and branch prediction.
Advanced Architecture Courses
-
MIT 6.823 Computer System Architecture (OCW)
Advanced architecture course covering superscalar processors, performance modeling, and research topics. -
NPTEL Computer Architecture (IIT)
University lecture series covering pipelining, cache design, and multicore architectures. -
Alison Computer Architecture Courses
Short courses covering processor design, memory systems, and I/O architecture. -
edX Computer Architecture Courses
Audit-friendly courses covering RISC-V, ARM architecture, cache coherence, and parallel computing.
Architecture Textbooks & Articles
-
Nand2Tetris Course Materials
Teaches how to build a complete computer system from logic gates to a compiler. -
Digital Design with RTL Design (Free Chapters)
Covers combinational and sequential logic, finite state machines, and datapath design. -
Agner Fog Optimization Manuals
Detailed documentation on CPU microarchitecture and instruction optimization for x86 and ARM. -
What Every Programmer Should Know About Memory
Explains CPU caches, memory hierarchy, and performance implications for systems programmers. -
Computer Architecture: A Quantitative Approach Companion Materials
Supplemental resources and excerpts from the classic Hennessy & Patterson architecture textbook.
Architecture Lecture Series
-
Berkeley CS61C – Great Ideas in Computer Architecture
RISC-V focused architecture course covering parallelism, caching, and large-scale computing systems. -
UIUC Computer Architecture Lecture Series
Full undergraduate lecture series covering instruction sets, pipelining, and memory systems. -
Ben Eater 8-Bit Computer Series
Hands-on video series explaining CPU components such as registers, ALU, clocks, and memory.
Operating Systems
Core Operating Systems Courses
-
MIT 6.S081 Operating Systems
OS course using the xv6 teaching kernel. Covers processes, scheduling, memory management, and file systems. -
Berkeley CS162 Operating Systems and Systems Programming
Complete course with lectures, assignments, and projects on concurrency, virtualization, and storage systems. -
UCLA CS111 Operating Systems Lecture Series
Covers processes, threads, synchronization, scheduling, and virtual memory. -
Georgia Tech CS6200 High Performance Operating Systems
Advanced course materials focusing on OS performance and design trade-offs.
Operating Systems Textbooks
-
OSTEP – Operating Systems: Three Easy Pieces
One of the most widely used free OS textbooks covering virtualization, concurrency, and persistence. -
xv6 Book (MIT)
Commentary and explanation of the xv6 teaching kernel. -
Little OS Book
Beginner-friendly introduction to bootloaders, interrupts, paging, and multitasking. -
Linux Inside
Explains Linux kernel internals including processes, memory management, and system calls.
OS Development Tutorials
-
OSDev Wiki
Comprehensive reference for operating system development topics including bootloaders, memory management, and interrupts. -
Writing a Simple Operating System from Scratch
Step-by-step tutorial covering bootloaders, kernel initialization, paging, and interrupts. -
JamesM’s Kernel Development Tutorials
Explains protected mode, interrupts, paging, and multitasking in a small kernel. -
BrokenThorn OS Development Series
Detailed articles on GDT, IDT, paging, VFS, and kernel architecture. -
Bran’s Kernel Development Tutorial
Classic tutorial series explaining bootloaders, interrupts, paging, and multitasking. -
Write Your Own OS Tutorial (RPI)
Course notes explaining how to build a simple kernel and shell.
Specialized Operating Systems Topics
-
Linux Kernel Newbies Documentation
Tutorials and guides for understanding and contributing to the Linux kernel. -
System Call Reference Documentation
Documentation explaining Linux system calls and the OS interface. -
Brendan Gregg – Linux Performance Analysis
Articles on performance analysis of Linux systems including scheduler and memory behavior.
OS Research & Advanced Reading
-
Minix 3 Documentation
Documentation for the Minix microkernel operating system used in OS education. -
Pintos OS Project Documentation
Undergraduate OS projects involving threads, virtual memory, and file systems. -
Theseus OS Design Rationale
Explains design principles of the Theseus operating system. -
Redox OS Documentation
Design documentation for the Redox microkernel OS. -
Modern Operating Systems (Tanenbaum) Free Chapters
University course pages providing selected textbook chapters. -
CMU 15-410 Kernel Project Documentation
Advanced kernel design projects from Carnegie Mellon. -
Stanford CS140 Lecture Notes
Comprehensive lecture notes covering operating system design and implementation.