bootstrap
fetch / execute
load / swap
output
ROM non-volatile · read only
BIOS / bootstrap program
(always here, even when off)
(always here, even when off)
CPU runs instructions
— off —
RAM volatile · 8 pages8 free
SSD — secondary storage non-volatile · keeps everything when off
💽 Operating system files
Click a program to run it (it is copied to RAM — the SSD keeps its own copy).
Page file (virtual memory)
Screen what the user sees
No signal
ROMRAMSSDVirtual memory (page file)
Step 0 — Computer off
Everything is off. RAM is empty — it is volatile, so it forgot everything when the power went. ROM still holds the bootstrap program, and the SSD still holds the operating system and all the programs. Press Power on.
Swaps (RAM ⇄ SSD)0
Waiting time0 ms
Try this
- Boot the computer step by step. Which chip does the CPU read first, and why must it be that one?
- Open Word, Excel and the Browser. How many RAM pages are free?
- Now open the Game. What did the operating system have to do first?
- Click the greyed-out window on the screen. Why is it slow?
- Close an app. Where did its pages go? Then power off — what survives?
Why does the SSD keep its copy of a program after it is loaded?
Loading is copying: the CPU runs the copy in RAM because RAM is fast, but RAM is volatile. The SSD's copy is the permanent one, so the program is still there next time you switch on.
Why doesn't the OS just load itself from the SSD?
At power-on RAM is empty and the CPU can only execute what is in memory. It needs a program that is already there — the bootstrap in ROM — to tell it where the OS is and copy it into RAM.
Why doesn't virtual memory just make the computer as good as having more RAM?
The SSD is far slower than RAM, and the CPU cannot run anything from it directly — pages have to be copied back into RAM first, pushing something else out. All that copying is time the CPU spends waiting.