0% found this document useful (0 votes)
45 views14 pages

The Boot Process

The boot process is the sequence of steps a computer follows to start up, beginning with powering on and executing a program stored in ROM. This process includes a Power-On Self Test (POST) to check hardware functionality and ultimately loads the operating system (OS) into RAM. Modern PCs utilize UEFI, which overcomes limitations of the older BIOS system, allowing for faster booting and support for larger drives and complex hardware.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views14 pages

The Boot Process

The boot process is the sequence of steps a computer follows to start up, beginning with powering on and executing a program stored in ROM. This process includes a Power-On Self Test (POST) to check hardware functionality and ultimately loads the operating system (OS) into RAM. Modern PCs utilize UEFI, which overcomes limitations of the older BIOS system, allowing for faster booting and support for larger drives and complex hardware.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

The Boot Process

Starting up a computer
Booting a Computer

We’ve seen how a CPU executes a program stored in RAM.


But RAM is volatile, it loses all data when it loses power.
This raises a couple of questions:
● How to get programs into RAM when the computer starts?
● What does the first program do?
This is called the boot process.
Booting - General overview

Almost all computers contain a ROM (Read-Only Memory):


● Contents cannot be changed, only loaded
● Non-volatile (contents stay the same even without power)
● Usually small (from 8kB in original PC, to ~16MB today)
● Contains code to load additional boot code (from a hard
disk, SSD, SD card, network)
● Often contains code for managing system settings (e.g.
which disk to boot from)
Components PCI expansion ports

CPU (+ cooling)

Hard disk
Fan
Clock oscillator

GPU

RAM

ROM DVD drive

Power supply
PC Boot Sequence

1. Turn power on
2. “Power good signal” is sent
to motherboard when power
is stable
3. CPU is reset and clock
oscillator starts
PC Boot Sequence

4. CPU reset triggers execution


of an instruction in the ROM
5. Boot program in ROM starts
with Power-On Self Test
(POST)
○ Check RAM, CPU, GPU, …
○ Communicate result via beep
PC Boot Sequence

6. Check video hardware and


print boot screen messages
7. Initialise other hardware
(hard disks, network, sound,
…)
PC Boot Sequence

8. Find Operating System (OS)


○ Can be on hard disk, USB disk,
DVD, network
○ Search order can usually be
configured by holding a particular
key during boot
○ On disks, OS boot code is found
in a specific location (“boot
sector”)
9. Load OS boot code from disk
into RAM, then jump to execute
that code
PC Boot Sequence

10. OS boot code loads OS


“kernel” (more on that later)
11. “Kernel” initialises drivers,
then loads rest of the OS
12. Once everything is initialised,
the Graphical User Interface
is started.
The computer is ready to use!
BIOS

● Original IBM PC had a “Basic Input Output System”


(BIOS) ROM that was responsible for booting
● BIOS had limitations:
○ Can’t boot from drives with more than 2.2TB
○ Slow (e.g. CPU must run in 16 bit mode)
○ Can’t support nice graphical user interfaces for configuration
○ Can’t be remote-controlled over a network connection
UEFI

Modern PCs use the Unified Extensible Firmware Interface


(UEFI)
● No restriction on hard disk size
● Can use all CPU features, much faster (32/64 bit modes)
● Can support complex hardware, e.g. graphics cards
● Can support nice graphical user interface
● Can include network drivers, allows for full remote control
● Includes security features so that only authentic drivers
and operating systems can be loaded
And non-PC computers?

● Some systems have their own boot loaders


○ E.g. Raspberry Pi has custom boot software in a ROM, which is
executed by the GPU instead of the CPU!
● Some systems don’t “boot” at all
○ E.g. in some microcontrollers, programs are executed directly
from ROM
Summary

● The start-up process of a computer is called booting


● It usually involves loading an initial program from a ROM
● That program often starts with a self-test to make sure the
computer is functioning correctly
● On PCs this initial program is called UEFI
● It loads the operating system (OS) from a hard disk,
flash memory or over the network
● The OS loads more complex drivers, programs and
(often) a graphical user interface
● More about operating systems in the next lectures!
EOF

You might also like