A software program for initiating the operation of a computer.

The function of the program is to set up the input and output (I/O) devices and load the OperatingSystem, commonly from a HardDisk. Once upon a time, the medium might also have been a cassette, or built-in ROM.

Because the computer gets itself up and going from an inert state, it could be said to lift itself up "by its own bootstraps" -- this is where the term Boot originates.

Other computer systems are also said to have a bootstrap. For example when writing a Compiler written in the ProgrammingLanguage that the Compiler compiles (think about it for a second), it is necessary to have either a CrossCompiler or a BootStrap -- a program written in a different language (Assembler in the worst case scenario) which can be used to compile a cut-down version of the Compiler initially. Of course, once even a bare-bones version of the new Compiler runs on the new platform it can be used to compile more sophisticated versions of the Compiler. Given the choice, cross-compilation is usually preferred.