What happens when you turn on computer? | Sanketh's Blog
1. Power‑On & Hardware Reset 1. Power‑Good Signal The power supply stabilizes voltages and asserts a “Power‑Good” (PWR_OK) line to the motherboard. All devices receive power and begin to initialize themselves. The Central Processing Unit (CPU) is initially held in a reset mode, meaning it’s not yet executing instructions. The memory layout is powered up, although the RAM itself has no content since it’s volatile. 2. CPU Reset Vector The reset vector is a predetermined memory address where the CPU begins execution after being powered on or reset. On x86 processors, this address is typically 0xFFFFFFF0 (near the top of the 4GB address space). When the CPU comes out of reset, its program counter (instruction pointer) is automatically set to this address. The motherboard’s memory mapping ensures that this address points to the BIOS/UEFI firmware ROM chip, so the very first instruction the CPU executes comes from the firmware.
Table of Contents 1. Power‑On & Hardware Reset 1. Power‑Good Signal 2. CPU Reset Vector 3. Microcode / Internal Init 2. Firmware Initialization 1. POST (Power‑On Self Test) 2. Core Hardware Initialization 3. Option ROMs & Plug‑In Cards 3. Boot Device Selection 1. Boot Order 2. Secure Boot (UEFI only) 4. Bootloader Stage: Master Boot Record (MBR) vs GUID Partition Table (GPT) 1. Master Boot Record (MBR) - Legacy BIOS Systems MBR Structure Breakdown: MBR Boot Process: MBR Limitations: How MBR Supports booting multiple OSes Overcoming the 4-Partition Limit: Extended and Logical Partitions GUID Pa
Explore this link on the map →related reading
- The "Basics" | Putting the "You" in CPUcpu.land
- Building a hypervisor, 2: Booting Linuxiovec.net
- The little book about OS developmentlittleosbook.github.io
- - YouTubeyoutube.com
- Writing an OS in Rustos.phil-opp.com
- Porting Mac OS X to the Nintendo Wii | Bryan Keller’s Dev Blogbryankeller.github.io
- 84—2484-24.org
- OS 202 Class Notescs.nyu.edu
- How we got microVMs booting in under a seconddepot.dev
- GPU Driver Developer’s Guide — The Linux Kernel documentationdocs.kernel.org
- User Mode Linux HOWTO - The Linux Kernel documentationkernel.org
- Virtual memory layout | Pintos Documentationcs162.org