What is bootstrapping?

20,221

Solution 1

In the general sense, "bootstrapping" is a process through which a complex system is set up using a much simpler system. A bootstrap system (the simpler system) is in itself inherently incomplete.

Bootstrapping an OS ("booting it") includes getting the computer's firmware (BIOS, or equivalent) to run a simple program which is sometimes located on a fixed location on disk, which in turn starts more complex initialisation routines (see first and second stage bootloaders).

Bootstrapping a compiler is done by compiling a simple compiler that can handle a subset of a language in which the full compiler is written, possibly in several successive steps.

The term is also used in business and in other fields to describe the use of intermediate stages of investment/development needed to initiate later stages of increasing complexity and/or size.

From the Wikipedia article on Bootstrapping:

Tall boots may have a tab, loop or handle at the top known as a bootstrap, allowing one to use fingers or a boot hook tool to help 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.

Related question:

Solution 2

A bootstrap is the first program a computer runs on power up. This is usually the current BIOS flashed onto the motherboard.

The bootstrap then hands over to the OS boot sector program on the boot drive. In the case of UEFI, switching OS platforms can be directly managed in the BIOS.

Share:
20,221

Related videos on Youtube

Brian
Author by

Brian

Updated on September 18, 2022

Comments

  • Brian
    Brian over 1 year

    I am reading about bootstrapping and am confused because the term is used so much in tech (specially bootstrap itself as the CSS framework).

    But as far as I know bootstrapping in terms of Linux machines is this: http://www.tldp.org/LDP/LG/issue70/ghosh.html - Describes a way to start up a computer. Is this correct?

    If so, then bootstrapping is boot loading?

  • Admin
    Admin over 4 years
    And what - apart from outdated links - is Unix specific here?
  • Admin
    Admin over 4 years
    the Q is asking: does <this link > describe a way to start up a computer. Is this correct? --- No, it is a purely technical, quite outdated description with no practical consequences (no GPT, no systemd).
  • Kusalananda
    Kusalananda over 4 years
    @rastafile I'm not sure I understand what your concern is. Does it have anything to do with my answer? You seem to want to comment on the question rather than on my answer, alternatively write your own answer.