In general, a means or technique for causing a system to build up from
some simple preliminary instruction(s) or information. The preliminary
instruction may be hardwired and called by the operation of a switch. The word
is used in a number of contexts.
For example, a bootstrap can be a short program, usually held in nonvolatile
memory, whose function is to load another longer program. When a computing
system is first powered-on, the contents of its memory are in general undefined
except for those parts that are fabricated from read-only memory or for the
contents of nonvolatile memory. The bootstrap routine is stored in ROM and is
capable of reading from backing store the complete operating system, which is
loaded into the empty machine.
A bootstrap is also a method by which a compiler is transferred from one machine
to another, and which depends on the compiler being written in the language it
compiles. To transfer from machine A to machine B, given a compiler that runs on
machine A, it is first necessary to make the compiler generate B's machine code.
The source code of the compiler is then compiled by this modified compiler, so
generating a version of the compiler for machine B. In practice it is usually
necessary to recede some machine-dependent portions of the compiler by hand to
complete the transfer.
The term originates from a story told by Baron Munchausen who boasted that
finding himself trapped and sinking in a swamp, he lifted himself by the
bootstraps and carried himself to safety on firm ground.