an operating system is generated, it must be made available for use by the
how does the hardware know where the kernel is or how to load that kernel? The
procedure of starting a computer by loading the kernel is known as booting the system.
most computer systems, a small piece of code known as the bootstrap program or bootstrap
loader locates the kernel, loads it into main memory, and starts its
computer systems, such as PCs, use a two-step process in which a simple
bootstrap loader fetches a more complex boot program from disk, which in turn
loads the kernel.
a CPU receives a reset event-for instance, when it is powered up or rebooted -the
instruction register is loaded with a predefined memory location, and execution
that location is the initial bootstrap program.
program is in the form of read-only
memory (ROM), because the RAM is in an unknown state at system startup.
is convenient because it needs no initialization and cannot easily be infected
by a computer virus.
bootstrap program can perform a variety of tasks.
one task is to run diagnostics to determine the state of the machine.
the diagnostics pass, the program can continue with the booting steps.
- It can also
initialize all aspects of the system, from CPU registers to device controllers
and the contents of main memory.
- Sooner or later,
it starts the operating system.
systems-such as cellular phones, PDAs, and game consoles-store the entire
operating system in ROM.
the operating system in ROM is suitable for small operating systems, simple
supporting hardware, and rugged operation.
problem with this approach is that changing the bootstrap code requires
changing the ROM hardware chips.
systems resolve this problem by using erasable
programmable read-only memory (EPROM), which is readonly except when
explicitly given a command to become writable.
forms of ROM are also known as firmware,
since their characteristics fall somewhere between those of hardware and those
problem with firmware in general is that executing code there is slower than
executing code in RAM.
systems store the operating system in firmware and copy it to RAM for fast
- A final issue with
firmware is that it is relatively expensive, so usually only small amounts are
large operating systems (including most general-purpose operating systems like
Windows, Mac OS X, and UNIX) or for systems that change frequently, the
bootstrap loader is stored in firmware, and the operating system is on disk.
this case, the bootstrap runs diagnostics and has a bit of code that can read a
single block at a fixed location (say block zero) from disk into memory and
execute the code from that bootblock.
program stored in the boot block may be sophisticated enough to load the entire
operating system into memory and begin its execution.
typically, it is simple code (as it fits in a single disk block) and knows only
the address on disk and length of the remainder of the bootstrap program.
- GRUB is an example of an open-source bootstrap
program for Linux systems.
of the disk-bound bootstrap, and the operating system itself, can be easily
changed by writing new versions to disk.
disk that has a boot partition is called a boot
disk or system disk.
- Now that the full
bootstrap program has been loaded, it can traverse the file system to find the
operating system kernel, load it into memory, and start its execution.
- It is only at this
point that the system is said to be
- MODERN OPERATING SYSTEMS by Andrew S. Tanenbaum, Second Edition
- The Operating System Concepts by Silberschatz, Galvin, Gagne, 8th Edition
Last modified: Sunday, 19 November 2017, 11:26 AM