The Boot Process

Context: FIT1047_MOC · from power button to GUI — solving the chicken-and-egg of volatile RAM · A2 “boot process” topic · hands off to Operating Systems and Multi-Processing

Quick Revision

  • 🎯 Objective: RAM is volatile ➔ boot code must live in ROM ➔ chain: power-good → CPU reset → ROM code → POST → hardware init → find OS (boot sector) → load boot code → kernel → drivers → GUI.
  • ⚡ Key Constraint: each stage loads the NEXT, bigger stage — a bootstrap chain; know the 12 steps in order.

📝 Core

  • The problem ➔ programs run from RAM, RAM loses everything without power ⟹ where does the FIRST program come from, and what does it do?
  • ROM ➔ read-only, non-volatile, small (8 kB original PC → ~16 MB today); holds code to load further boot code from disk/SSD/SD/network + system-settings UI (boot order).

📊 Exam Execution Trace — the PC boot sequence

StepEvent
1–3Power on → “power good” signal to motherboard → CPU reset, clock oscillator starts
4Reset vector: CPU executes first instruction from ROM
5POST (Power-On Self Test): check RAM/CPU/GPU…, beep codes on failure
6–7Init video (boot messages), then other hardware (disks, network, sound)
8Find the OS: search configured order (disk/USB/DVD/network); on disks, boot code sits in the boot sector
9Load OS boot code into RAM → jump to it
10–11Boot code loads the kernel → kernel initialises drivers → loads rest of OS
12GUI starts — ready to use

⚖️ Core Decision Matrix — BIOS vs UEFI

AspectBIOS (original PC)UEFI (modern)
disk size limit≤ 2.2 TBnone
CPU mode16-bit, slowfull 32/64-bit, fast
interfacetext-only configgraphical UI
networknonebuilt-in drivers, full remote control
securitynoneauthenticated drivers/OS only (secure boot)
  • Non-PC systems ➔ Raspberry Pi boots from ROM code executed by the GPU; some microcontrollers never “boot” — code runs from non-volatile memory directly.

⚠️ Common Mistakes

  • 💡 ROM starts it, RAM runs it ➔ the ROM only bootstraps; the OS executes from RAM — “the OS is in ROM” is a classic wrong answer.
  • 💡 POST before OS search ➔ hardware must be verified before anything is loaded; beep codes exist because video may not work yet.

🧠 Active Recall