Bootstrapping
Encyclopedia
Bootstrapping or booting refers to a group of metaphor
s that share a common meaning: a self-sustaining process that proceeds without external help.
The term is often attributed to Rudolf Erich Raspe
's story The Surprising Adventures of Baron Munchausen, where the main character pulls himself out of a swamp
by his hair (specifically, his pigtail), but the Baron does not, in fact, pull himself out by his bootstraps. Instead, the phrase appears to have originated in the early 19th century United States (particularly in the sense "pull oneself over a fence by one's bootstraps"), to mean an absurdly impossible action, an adynaton
.
s may have a tab, loop or handle at the top known as a bootstrap, allowing one to use fingers or a tool to provide greater force in pulling the boots on. The saying "to pull oneself up by one's bootstraps" was already in use during the 19th century as an example of an impossible task. Bootstrap as a metaphor, meaning to better oneself by one's own unaided efforts, was in use in 1922. This metaphor spawned additional metaphors for a series of self-sustaining processes that proceed without external help.
The bootstrap concept was used in the IBM 701
computer (1952–1956) which had a "load button" which initiated reading of the first 36-bit word from a punched card
in a card reader, from a magnetic tape data storage
unit or a drum memory
unit (predecessor of the hard disk drive). The left 18-bit half-word was then executed as an instruction which read additional words into memory. Thus, computer bootstrapping is a technique by which a simple computer instruction or program activates a more complicated system of instructions or programs.
IDE
and an extremely high-level programming language
.
Historically, bootstrapping also refers to early computer program development which has been obviated by emulation
software now executed in pre-existing computers. Bootstrapping in program development began during the 1950s when each program was constructed on paper in decimal code or in binary code, bit by bit (1s and 0s), because there was no high-level computer language, no compiler
, no assembler, and no linker. A tiny assembler program was hand-coded for a new computer (for example the IBM 650
) which converted a few instructions into binary or decimal code: A1. This simple assembler program was then rewritten in its just-defined assembly language
but with extensions that would enable the use of some additional mnemonics for more complex operation codes. The enhanced assembler's source program was then assembled by its predecessor's executable (A1) into binary or decimal code to give A2, and the cycle repeated (now with those enhancements available), until the entire instruction set was coded, branch addresses were automatically calculated, and other conveniences (such as conditional assembly, macros, optimisations, etc.) established. This was how the early assembly program SOAP (Symbolic Optimal Assembly Program) was developed. Compilers, linkers, loaders, and utilities were then coded in assembly language, further continuing the bootstrapping process of developing complex software systems by using simpler software.
The term was also championed by Doug Engelbart to refer to his belief that organizations could better evolve by improving the process they use for improvement (thus obtaining a compounding effect over time). His SRI
team that developed the NLS
hypertext system applied this strategy by using the tool they had developed to improve the tool.
in an overlay network
that provides initial configuration information to newly joining nodes so that they may successfully join the overlay network.
called discrete event simulation
represents the operation of a system as a chronological sequence of events. A technique called bootstrapping the simulation model is used, which bootstraps initial data points using a pseudorandom number generator
to schedule an initial set of pending events, which schedule additional events, and with time, the distribution of event times approaches its steady state
—the bootstrapping behavior is overwhelmed by steady-state behavior.
is a hypothesized type of strong artificial intelligence capable of recursive
self-improvement. Having improved itself it would become better at improving itself, potentially leading to an exponential increase in intelligence. No such AI is known to exist, but it remains an active field of research.
Seed AI is a significant part of some theories about the technological singularity
: proponents believe that the development of seed AI will rapidly yield ever-smarter intelligence (via bootstrapping) and thus a new era.
technique used to obtain estimates of summary statistics.
in his book River Out of Eden used the computer bootstrapping concept to explain how biological cells differentiate: "Different cells receive different combinations of chemicals, which switch on different combinations of genes, and some genes work to switch other genes on or off. And so the bootstrapping continues, until we have the full repertoire of different kinds of cells."
s. A number is presented by each node, which reflects the percentage of bootstrap trees which also resolve that clade
.
is the process of restoring a power station to operation without relying on the external electric power transmission network. In the absence of grid power, a so-called black start needs to be performed to bootstrap the power grid into operation.
s which provides application independent functions for mutual authentication
of user equipment and servers unknown to each other and for 'bootstrapping' the exchange of secret session keys afterwards. The term 'bootstrapping' is related to building a security relation with a previously unknown device first and to allow installing security elements (keys) in the device and the BSF afterwards.
Metaphor
A metaphor is a literary figure of speech that uses an image, story or tangible thing to represent a less tangible thing or some intangible quality or idea; e.g., "Her eyes were glistening jewels." Metaphor may also be used for any rhetorical figures of speech that achieve their effects via...
s that share a common meaning: a self-sustaining process that proceeds without external help.
The term is often attributed to Rudolf Erich Raspe
Rudolf Erich Raspe
Rudolf Erich Raspe was a German librarian, writer and scientist, called by his biographer John Carswell a "rogue"...
's story The Surprising Adventures of Baron Munchausen, where the main character pulls himself out of a swamp
Swamp
A swamp is a wetland with some flooding of large areas of land by shallow bodies of water. A swamp generally has a large number of hammocks, or dry-land protrusions, covered by aquatic vegetation, or vegetation that tolerates periodical inundation. The two main types of swamp are "true" or swamp...
by his hair (specifically, his pigtail), but the Baron does not, in fact, pull himself out by his bootstraps. Instead, the phrase appears to have originated in the early 19th century United States (particularly in the sense "pull oneself over a fence by one's bootstraps"), to mean an absurdly impossible action, an adynaton
Adynaton
Adynaton is a figure of speech in the form of hyperbole taken to such extreme lengths as to suggest a complete impossibility:...
.
Etymology
Tall bootBoot
A boot is a type of footwear but they are not shoes. Most boots mainly cover the foot and the ankle and extend up the leg, sometimes as far as the knee or even the hip. Most boots have a heel that is clearly distinguishable from the rest of the sole, even if the two are made of one piece....
s may have a tab, loop or handle at the top known as a bootstrap, allowing one to use fingers or a tool to provide greater force in pulling the boots on. The saying "to pull oneself up by one's bootstraps" was already in use during the 19th century as an example of an impossible task. Bootstrap as a metaphor, meaning to better oneself by one's own unaided efforts, was in use in 1922. This metaphor spawned additional metaphors for a series of self-sustaining processes that proceed without external help.
Computing
The computer term bootstrap began as a metaphor in the 1950s. In computers, pressing a bootstrap button caused a hardwired program to read a bootstrap program from an input unit. The computer would then execute the bootstrap program, which caused it to read more program instructions. It became a self-sustaining process that proceeded without external help from manually entered instructions. As a computing term, bootstrap has been used since at least 1953.The bootstrap concept was used in the IBM 701
IBM 701
The IBM 701, known as the Defense Calculator while in development, was announced to the public on April 29, 1952, and was IBM’s first commercial scientific computer...
computer (1952–1956) which had a "load button" which initiated reading of the first 36-bit word from a punched card
Punched card
A punched card, punch card, IBM card, or Hollerith card is a piece of stiff paper that contains digital information represented by the presence or absence of holes in predefined positions...
in a card reader, from a magnetic tape data storage
Magnetic tape data storage
Magnetic tape data storage uses digital recording on to magnetic tape to store digital information. Modern magnetic tape is most commonly packaged in cartridges and cassettes. The device that performs actual writing or reading of data is a tape drive...
unit or a drum memory
Drum memory
Drum memory is a magnetic data storage device and was an early form of computer memory widely used in the 1950s and into the 1960s, invented by Gustav Tauschek in 1932 in Austria....
unit (predecessor of the hard disk drive). The left 18-bit half-word was then executed as an instruction which read additional words into memory. Thus, computer bootstrapping is a technique by which a simple computer instruction or program activates a more complicated system of instructions or programs.
Operating Systems
Beginning with the IBM 701 and to the present day, booting has been used to load operating systems into the main memory of computers.Software bootstrapping
Bootstrapping can also refer to the development of successively more complex, faster programming environments. The simplest environment will be, perhaps, a very basic text editor (e.g., ed) and an assembler program. Using these tools, one can write a more complex text editor, and a simple compiler for a higher-level language and so on, until one can have a graphicalGraphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
and an extremely high-level programming language
High-level programming language
A high-level programming language is a programming language with strong abstraction from the details of the computer. In comparison to low-level programming languages, it may use natural language elements, be easier to use, or be from the specification of the program, making the process of...
.
Historically, bootstrapping also refers to early computer program development which has been obviated by emulation
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...
software now executed in pre-existing computers. Bootstrapping in program development began during the 1950s when each program was constructed on paper in decimal code or in binary code, bit by bit (1s and 0s), because there was no high-level computer language, no compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
, no assembler, and no linker. A tiny assembler program was hand-coded for a new computer (for example the IBM 650
IBM 650
The IBM 650 was one of IBM’s early computers, and the world’s first mass-produced computer. It was announced in 1953, and over 2000 systems were produced between the first shipment in 1954 and its final manufacture in 1962...
) which converted a few instructions into binary or decimal code: A1. This simple assembler program was then rewritten in its just-defined assembly language
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...
but with extensions that would enable the use of some additional mnemonics for more complex operation codes. The enhanced assembler's source program was then assembled by its predecessor's executable (A1) into binary or decimal code to give A2, and the cycle repeated (now with those enhancements available), until the entire instruction set was coded, branch addresses were automatically calculated, and other conveniences (such as conditional assembly, macros, optimisations, etc.) established. This was how the early assembly program SOAP (Symbolic Optimal Assembly Program) was developed. Compilers, linkers, loaders, and utilities were then coded in assembly language, further continuing the bootstrapping process of developing complex software systems by using simpler software.
The term was also championed by Doug Engelbart to refer to his belief that organizations could better evolve by improving the process they use for improvement (thus obtaining a compounding effect over time). His SRI
SRI International
SRI International , founded as Stanford Research Institute, is one of the world's largest contract research institutes. Based in Menlo Park, California, the trustees of Stanford University established it in 1946 as a center of innovation to support economic development in the region. It was later...
team that developed the NLS
NLS (computer system)
NLS, or the "oN-Line System", was a revolutionary computer collaboration system designed by Douglas Engelbart and implemented by researchers at the Augmentation Research Center at the Stanford Research Institute during the 1960s...
hypertext system applied this strategy by using the tool they had developed to improve the tool.
Compilers
The development of compilers for new programming languages first developed in an existing language but then rewritten in the new language and compiled by itself, is another example of the bootstrapping notion. Using an existing language to bootstrap a new language is one way to solve the "chicken or the egg" causality dilemma.Installers
During the installation of computer programs it is sometimes necessary to update the installer or package manager itself. The common pattern for this is to use a small executable bootstrapper file (e.g. setup.exe) which updates the installer and starts the real installation after the update. Sometimes the bootstrapper also installs other prerequisites for the software during the bootstrapping process.Overlay networks
A bootstrapping node, also known as a rendezvous host, is a nodeNode (networking)
In communication networks, a node is a connection point, either a redistribution point or a communication endpoint . The definition of a node depends on the network and protocol layer referred to...
in an overlay network
Overlay network
An overlay network is a computer network which is built on the top of another network. Nodes in the overlay can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network...
that provides initial configuration information to newly joining nodes so that they may successfully join the overlay network.
Discrete event simulation
A type of computer simulationComputer simulation
A computer simulation, a computer model, or a computational model is a computer program, or network of computers, that attempts to simulate an abstract model of a particular system...
called discrete event simulation
Discrete Event Simulation
In discrete-event simulation, the operation of a system is represented as a chronological sequence of events. Each event occurs at an instant in time and marks a change of state in the system...
represents the operation of a system as a chronological sequence of events. A technique called bootstrapping the simulation model is used, which bootstraps initial data points using a pseudorandom number generator
Pseudorandom number generator
A pseudorandom number generator , also known as a deterministic random bit generator , is an algorithm for generating a sequence of numbers that approximates the properties of random numbers...
to schedule an initial set of pending events, which schedule additional events, and with time, the distribution of event times approaches its steady state
Steady state
A system in a steady state has numerous properties that are unchanging in time. This implies that for any property p of the system, the partial derivative with respect to time is zero:...
—the bootstrapping behavior is overwhelmed by steady-state behavior.
Artificial intelligence and machine learning
Bootstrapping is a technique used to iteratively improve a classifier's performance. Seed AISeed AI
Seed AI is a hypothesized type of strong artificial intelligence capable of recursive self-improvement. Having improved itself it would become better at improving itself, potentially leading to an exponential increase in intelligence...
is a hypothesized type of strong artificial intelligence capable of recursive
Recursion
Recursion is the process of repeating items in a self-similar way. For instance, when the surfaces of two mirrors are exactly parallel with each other the nested images that occur are a form of infinite recursion. The term has a variety of meanings specific to a variety of disciplines ranging from...
self-improvement. Having improved itself it would become better at improving itself, potentially leading to an exponential increase in intelligence. No such AI is known to exist, but it remains an active field of research.
Seed AI is a significant part of some theories about the technological singularity
Technological singularity
Technological singularity refers to the hypothetical future emergence of greater-than-human intelligence through technological means. Since the capabilities of such an intelligence would be difficult for an unaided human mind to comprehend, the occurrence of a technological singularity is seen as...
: proponents believe that the development of seed AI will rapidly yield ever-smarter intelligence (via bootstrapping) and thus a new era.
Statistics
Bootstrapping is a resamplingResampling (statistics)
In statistics, resampling is any of a variety of methods for doing one of the following:# Estimating the precision of sample statistics by using subsets of available data or drawing randomly with replacement from a set of data points # Exchanging labels on data points when performing significance...
technique used to obtain estimates of summary statistics.
Business
Bootstrapping in business means starting a business without external help or capital. Such startups fund the development of their company through internal cash flow and are cautious with their expenses. Generally at the start of a venture, a small amount of money will be set aside for the bootstrap process.- See Startup companyStartup companyA startup company or startup is a company with a limited operating history. These companies, generally newly created, are in a phase of development and research for markets...
, a startup company can grow by reinvesting profits in its own growth, if its bootstrapping costs are low and return on investment is high. - See Leveraged buyoutLeveraged buyoutA leveraged buyout occurs when an investor, typically financial sponsor, acquires a controlling interest in a company's equity and where a significant percentage of the purchase price is financed through leverage...
, or highly leveraged transaction, or "bootstrap" transaction, when an investor acquires a controlling interest in a company's equity and where a significant percentage of the purchase price is financed through leverage (borrowing). - See Bootstrapping (finance)Bootstrapping (finance)Bootstrapping is a method for constructing a fixed-income yield curve from the prices of a set of coupon-bearing products by forward substitution....
, the method to create the spot rate curve. - See Operation BootstrapOperation BootstrapFor other uses, see Bootstrapping and Bootstrapping .Operation Bootstrap is the name given to the ambitious projects which industrialized Puerto Rico in the mid-20th century.-History:...
("Operación Manos a la Obra"), ambitious projects which industrialized Puerto Rico in the mid-20th century.
Biology
Richard DawkinsRichard Dawkins
Clinton Richard Dawkins, FRS, FRSL , known as Richard Dawkins, is a British ethologist, evolutionary biologist and author...
in his book River Out of Eden used the computer bootstrapping concept to explain how biological cells differentiate: "Different cells receive different combinations of chemicals, which switch on different combinations of genes, and some genes work to switch other genes on or off. And so the bootstrapping continues, until we have the full repertoire of different kinds of cells."
Phylogenetics
Bootstrapping analysis gives a way to judge the strength of support for nodes on phylogenetic treePhylogenetic tree
A phylogenetic tree or evolutionary tree is a branching diagram or "tree" showing the inferred evolutionary relationships among various biological species or other entities based upon similarities and differences in their physical and/or genetic characteristics...
s. A number is presented by each node, which reflects the percentage of bootstrap trees which also resolve that clade
Clade
A clade is a group consisting of a species and all its descendants. In the terms of biological systematics, a clade is a single "branch" on the "tree of life". The idea that such a "natural group" of organisms should be grouped together and given a taxonomic name is central to biological...
.
Law
Bootstrapping is a rule preventing the admission of hearsay evidence in conspiracy cases.Linguistics
Bootstrapping is a theory of language acquisition.Physics
Bootstrapping is using very general consistency criteria to determine the form of a quantum theory from some assumptions on the spectrum of particles.Electronics
Bootstrapping is a form of positive feedback in analog circuit design.Power stations
A black startBlack start
A black start is the process of restoring a power station to operation without relying on the external electric power transmission network.Normally, the electric power used within the plant is provided from the station's own generators...
is the process of restoring a power station to operation without relying on the external electric power transmission network. In the absence of grid power, a so-called black start needs to be performed to bootstrap the power grid into operation.
Cellular networks
A Bootstrapping Server Function (BSF) is an intermediary element in cellular networkCellular network
A cellular network is a radio network distributed over land areas called cells, each served by at least one fixed-location transceiver known as a cell site or base station. When joined together these cells provide radio coverage over a wide geographic area...
s which provides application independent functions for mutual authentication
Authentication
Authentication is the act of confirming the truth of an attribute of a datum or entity...
of user equipment and servers unknown to each other and for 'bootstrapping' the exchange of secret session keys afterwards. The term 'bootstrapping' is related to building a security relation with a previously unknown device first and to allow installing security elements (keys) in the device and the BSF afterwards.
See also
- Bootstrap paradoxBootstrap paradoxThe bootstrap paradox is a paradox of time travel in which information or objects can exist without having been created. After information or an object is sent back in time, it is recovered in the present and becomes the very object/information that was initially brought back in time in the first...
- Conceptual metaphorConceptual metaphorIn cognitive linguistics, conceptual metaphor, or cognitive metaphor, refers to the understanding of one idea, or conceptual domain, in terms of another, for example, understanding quantity in terms of directionality . A conceptual domain can be any coherent organization of human experience...
- Horatio Alger mythHoratio Alger mythThe "Horatio Alger myth" is a criticism of the rags to riches message in books by Horatio Alger, Jr. . Alger wrote over 100 books for young working class males, beginning with Ragged Dick, which was published in 1867. His books have been described as rags to riches stories...
- Münchhausen Trilemma
- Positive feedbackPositive feedbackPositive feedback is a process in which the effects of a small disturbance on a system include an increase in the magnitude of the perturbation. That is, A produces more of B which in turn produces more of A. In contrast, a system that responds to a perturbation in a way that reduces its effect is...
- Robert A. HeinleinRobert A. HeinleinRobert Anson Heinlein was an American science fiction writer. Often called the "dean of science fiction writers", he was one of the most influential and controversial authors of the genre. He set a standard for science and engineering plausibility and helped to raise the genre's standards of...
's short story "By His BootstrapsBy His Bootstraps"By His Bootstraps" is a science fiction short story by Robert A. Heinlein that plays with some of the inherent paradoxes that would be caused by time travel. It was originally published in the October 1941 issue of Astounding Science Fiction under the pen name Anson MacDonald...
"