Misplaced Pages

Bootstrapping (computing): Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editContent deleted Content addedVisualWikitext
Revision as of 19:14, 1 September 2007 edit70.174.181.93 (talk) Booting← Previous edit Latest revision as of 04:29, 10 August 2014 edit undoChristian75 (talk | contribs)Extended confirmed users, New page reviewers, Pending changes reviewers, Rollbackers114,595 edits Added {{R to section}} tag to redirect (TW
(108 intermediate revisions by 80 users not shown)
Line 1: Line 1:
#redirect ]
{{otherusesof|bootstrapping|bootstrapping}}
{{R to section}}

In computing, '''bootstrapping''' refers to a process where a simple system activates another more complicated system that serves the same purpose. It is a solution to the ] of starting a certain system without the system already functioning. The term is most often applied to the process of starting up a computer, in which a mechanism is needed to ] the ] program that is responsible for executing software programs (the ]).

The term "bootstrapping" alludes to a German legend about ], who claimed to have been able to lift himself out of a ] by pulling himself up by his own hair. In later versions of the legend, he used his own ] ]s to pull himself out of the sea which gave rise to the term bootstrapping.<ref>Steven Abney. Bootstrapping. 40th Annual Meeting of the Association for Computational Linguistics: Proceedings of the Conference. 2002. http://www.vinartus.net/spa/02a.pdf</ref> The term is believed to have entered computer jargon during the early 1950's by way of ]'s short story '']'' first published in 1941.{{Fact|date=February 2007}}

== Booting ==
{{main|booting}}

Bootstrapping was shortened to ], or the process of starting up any computer, which is the most common meaning for non-technical computer users. The ] "boot" is similarly derived.

A "bootstrap" most commonly refers to the simple program itself that actually begins the initialization of the computer's operating system, like ], ] or ]. Modern ]s have the ability of using their ] (NIC) for bootstrapping; on ](]) and ] (]) this method is implemented by ] and ].

Mainframe computers back in the 1970's were bootstrapped by loading software into the machine on a paper tape with holes punched into it (punch tape). The leading edge of the paper tape would become worn and unreadable. To stop this problem a length of leather bootstrap would be connected to the leading edge of the punch tape to stop it wearing out when it is fed into the punch tape reading machine. This process was known as "bootstrapping" the mainframe.

== Software bootstrapping ==<!-- This section is linked from ] -->

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. ]) and an ] 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 ] ] and an extremely ].

Historically, bootstrapping also refers to early computer program development which has been obviated by ] software now executed in pre-existing computers. Bootstrapping in program development began during the 1950's when each program was constructed on paper in decimal code or in binary code, bit by bit (1's and 0's), because there was no high-level computer language, no ], no assembler, and no ]. A tiny assembler program was written for a new computer (for example the ]) which converted a few instructions into binary or decimal code. This assembler program was then rewritten in its own ] that included additional alphabetic mnemonic operation codes. The enlarged assembly program then reassembled itself into binary or decimal code & and so on, until the entire instruction set was coded and branch addresses were automatically calculated. 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.

== Compiler bootstrapping ==

In ] design, a bootstrap or bootstrapping compiler is a compiler that is written in the target language, or a subset of the language, that it compiles. Examples include ], ], ], ], ] and more recently the ].

:''For more detail, see ]''

== Supervised learning ==

In ], bootstrapping (also ''0,632 bootstrapping'') refers to a way of evaluating (estimating) the goodness of a ] model. The method works as follows:
* Several samples, with replacement, are extracted from the original set. Each of them will be used by the inducing algorithm to generate a submodel.
* Every submodel is tested twice: using the very same subset used to induce it and the one resulting from substracting it to the original set. Thus, two groups of accuracies are obtained, being <math>p_{a}\,</math> the average of the first and <math>p_{0}\,</math> the average of the latter.
* The final accuracy of the model being evaluated is:
:<math>p_{M} = 0.368*p_{a}+0.632*p_{0}\,</math>

== See also ==

* A ], when executed, produces a copy of its source code. A (self-hosting) compiler, when executed (and fed a copy of its source code), produces a copy of its executable code.
* ]

<references/>

]

]
]
]
]

Latest revision as of 04:29, 10 August 2014

Redirect to: