# hackclub/putting-the-you-in-cpu

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hackclub-putting-the-you-in-cpu).**

5,499 stars · 195 forks · MDX · MIT · archived

## Links

- GitHub: https://github.com/hackclub/putting-the-you-in-cpu
- Homepage: https://cpu.land
- awesome-repositories: https://awesome-repositories.com/repository/hackclub-putting-the-you-in-cpu.md

## Topics

`cpu` `elf` `linux` `linux-kernel`

## Description

This project is a collection of technical documentation and guides designed as a computer architecture explainer. It provides educational resources on how processors and operating systems execute programs, focusing on the fetch-execute cycle and the fundamental relationship between hardware and the kernel.

The documentation covers a wide range of low-level system operations, including detailed guides on the executable and linkable binary format, virtual memory management, and kernel-level operations. It specifically explores the mechanics of CPU scheduling, preemptive multitasking, and the use of timer interrupts to manage process execution.

The material further explains memory management workflows such as address translation, demand paging, and copy-on-write page sharing. It also covers security and access control through processor privilege management and memory page permission enforcement, as well as the system call interface used by user-space programs to request privileged kernel operations.

The guides also detail the program execution lifecycle, from the initial boot sequence and binary loading to process replacement and the bootstrapping of userland processes.

## Tags

### Operating Systems & Systems Programming

- [Fetch-Execute Cycles](https://awesome-repositories.com/f/operating-systems-systems-programming/fetch-execute-cycles.md) — Explains the fundamental processor loop that retrieves machine code from memory and updates hardware registers.
- [ELF Binary Parsing](https://awesome-repositories.com/f/operating-systems-systems-programming/elf-binary-parsing.md) — Provides detailed analysis of Executable and Linkable Format (ELF) binary headers and program tables for memory loading.
- [OS Concept Explainers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-concept-explainers/os-concept-explainers.md) — Serves as an educational guide explaining operating system concepts via real kernel code and architectural examples.
- [Operating System Kernels](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/operating-system-kernels.md) — Explains core system software responsible for managing hardware resources, process scheduling, and memory isolation.
- [Kernel-Level Operations](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/operating-system-kernels/kernel-level-operations.md) — Details fundamental system operations performed within kernel space, including hardware interaction and process loading.
- [Physical Address Mapping](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management-systems/physical-address-mapping.md) — Describes the memory management unit's process of translating virtual addresses to physical hardware locations.
- [Demand Paging](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/dynamic-memory-allocation/memory-demand-analyzers/demand-paging.md) — Explains the lazy loading mechanism that moves data from disk to RAM during page faults.
- [Paged Memory Management](https://awesome-repositories.com/f/operating-systems-systems-programming/paged-memory-management.md) — Teaches the mechanics of mapping logical address spaces to physical frames using page tables and demand paging.
- [Page Permission Bit Configurations](https://awesome-repositories.com/f/operating-systems-systems-programming/paged-memory-management/page-permission-inspectors/page-permission-bit-configurations.md) — Covers the enforcement of read, write, and execute permissions on memory pages to secure system memory. ([source](https://cpu.land/the-translator-in-your-computer))
- [Hierarchical Page Tables](https://awesome-repositories.com/f/operating-systems-systems-programming/paged-memory-management/page-table-initializations/hierarchical-page-tables.md) — Details the multi-level mapping structures that manage large virtual address spaces without requiring contiguous physical memory.
- [Hierarchical Structures](https://awesome-repositories.com/f/operating-systems-systems-programming/paged-memory-management/page-table-initializations/hierarchical-structures.md) — Explains the use of multi-level page tables to manage large virtual address spaces without contiguous physical memory. ([source](https://cpu.land/the-translator-in-your-computer))
- [Virtual Address Translators](https://awesome-repositories.com/f/operating-systems-systems-programming/paged-memory-management/virtual-address-translators.md) — Details the process of mapping virtual memory addresses to physical hardware locations using a memory management unit. ([source](https://cpu.land/the-translator-in-your-computer))
- [Preemptive Multitasking Kernels](https://awesome-repositories.com/f/operating-systems-systems-programming/preemptive-multitasking-kernels.md) — Describes the mechanism of using hardware timer interrupts to force context switches and prevent CPU monopolization. ([source](https://cpu.land/slice-dat-time))
- [Processor Privilege Modes](https://awesome-repositories.com/f/operating-systems-systems-programming/processor-privilege-modes.md) — Explains how the processor restricts instruction execution and memory access by switching between kernel and user modes. ([source](https://cpu.land/the-basics))
- [System Call Interfaces](https://awesome-repositories.com/f/operating-systems-systems-programming/system-call-interfaces.md) — Describes the secure boundary and software interrupt mechanism used to request privileged kernel services.
- [Virtual Memory Management](https://awesome-repositories.com/f/operating-systems-systems-programming/virtual-memory-management.md) — Provides a detailed explanation of how the operating system moves inactive memory pages to secondary storage. ([source](https://cpu.land/the-translator-in-your-computer))
- [Binary Format Identifiers](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-format-identifiers.md) — Details how the system identifies executable binary formats using magic bytes and signatures. ([source](https://cpu.land/how-to-run-a-program))
- [Copy-on-Write Memory Optimizations](https://awesome-repositories.com/f/operating-systems-systems-programming/copy-on-write-memory-optimizations.md) — Explains the use of copy-on-write semantics to share physical memory between parent and child processes. ([source](https://cpu.land/lets-talk-about-forks-and-cows))
- [CPU Time Slice Calculations](https://awesome-repositories.com/f/operating-systems-systems-programming/cpu-time-slice-calculations.md) — Explains the calculation of process run-times to optimize system responsiveness and multitasking. ([source](https://cpu.land/slice-dat-time))
- [Portable System API Abstractions](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/system-service-abstraction-layers/portable-system-api-abstractions.md) — Describes the abstraction of architecture-specific assembly into high-level functions for consistent system calls. ([source](https://cpu.land/the-basics))
- [Process Image Replacements](https://awesome-repositories.com/f/operating-systems-systems-programming/process-image-replacements.md) — Explains the capability to replace the current process image with a new program via a file path. ([source](https://cpu.land/how-to-run-a-program))
- [Program Execution Lifecycles](https://awesome-repositories.com/f/operating-systems-systems-programming/program-execution-lifecycles.md) — Traces the path from the initial boot sequence and binary loading to the execution of userland processes.
- [System Boot Initializers](https://awesome-repositories.com/f/operating-systems-systems-programming/system-resource-initializers/system-boot-initializers.md) — Traces the boot sequence from firmware and bootloader to the final kernel initialization. ([source](https://cpu.land/lets-talk-about-forks-and-cows))
- [User Process Bootstrapping](https://awesome-repositories.com/f/operating-systems-systems-programming/user-process-bootstrapping.md) — Explains the kernel mechanism for launching the first user-space process to serve as the root parent. ([source](https://cpu.land/lets-talk-about-forks-and-cows))

### Part of an Awesome List

- [CPU Task Scheduling and Preemption](https://awesome-repositories.com/f/awesome-lists/devops/tasks-and-scheduling/cpu-task-scheduling-and-preemption.md) — Provides a technical breakdown of how the kernel queues, assigns, and preempts tasks using timers.

### Development Tools & Productivity

- [Interrupt-Driven Context Switching](https://awesome-repositories.com/f/development-tools-productivity/process-signal-handlers/task-interruption-handlers/interrupt-driven-context-switching.md) — Explains how hardware timer interrupts trigger the kernel to perform context switches between processes.
- [Kernel Interrupt Models](https://awesome-repositories.com/f/development-tools-productivity/process-signal-handlers/task-interruption-handlers/interrupt-driven-context-switching/kernel-interrupt-models.md) — Explains the educational model of how software interrupts enable user-space programs to request privileged kernel operations.

### Education & Learning Resources

- [Computer Architecture Curricula](https://awesome-repositories.com/f/education-learning-resources/computer-architecture-curricula.md) — Provides pedagogical materials and implementation exercises focused on processor design and low-level system architecture.
