Bootstrapping

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Damian Yerrick (talk | contribs) at 16:31, 29 March 2002 (embedded system link). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Jump to navigation Jump to search

In telecommunication, the term bootstrap has the following meanings:

1. A technique or device designed to bring about a desired state by means of its own action.

2. That part of a computer program that may be used to establish another version of the computer program.

3. The automatic procedure whereby the basic operating system of a processor is reloaded following a complete shutdown or loss of memory.

4. A set of instructions that cause additional instructions to be loaded until the complete computer program is in storage.

5. To initialize a system by means of a bootstrap.

Source: from Federal Standard 1037C and from MIL-STD-188


This info, moved from bootstrapping, needs to be merged with the above article:

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.

Early programmable computers had toggle switches on the front panel to place the bootloader into RAM before starting the CPU. Nowadays, the bootstrapping process begins with the CPU executing software contained in ROM at a predefined address (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 and to start all services; to ensure high availability, they bring up some services before others.

Most embedded systems 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 or flash memory, so it can be executed directly.

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

References: