Bootstrapping

HomePage | Recent changes | View source | Discuss this page | Page history | Log in |

Printable version | Privacy policy

Also known by the term booting, bootstrapping is the process where a computer initializes itself and loads enough software to be useful to a human.

A computer's hardware cannot perform complicated acts (for example loading a program from disk) on its own, and needs software for this. The problem is how to get to this software, when the very act of loading needs software, too.


Usually, the bootstrapping process begins with the CPU executing software contained in ROM (this is possible without outside help). This software contains rudimentary functionality to search for devices eligable to participate in booting, and load a small program from a special section of the most promising device. The small program is most often not itself an operating system, but only a so called boot loader. It will load the operating system proper, and finally transfer execution to it. The system will initialize itself, and may load device drivers and other programs that should be running initially.

The boot process is considered complete when the computer is ready to answer queries from the outside. Typical PCs boot in about a minute, while large servers may take several minutes to boot.

Most embedded computers must boot almost instantly -- waiting a minute for the televison to come up is not acceptable. Therefore they have their whole operating system in ROM, so it can be executed directly.

The name comes from the phrase pulling oneself out by one's bootstraps. See Baron Münchhausen.