| • Science | • People | • Locations | • Timeline |
| Contents | ||
Most computer systems can only execute code found in the memory ( ROM or RAM); modern operating systems are mostly stored on hard disk drives, LiveCDs and USB flash drives. Just after a computer has been turned on, it doesn't have an operating system in memory. The computer's hardware alone cannot perform complicated actions of the operating system, such as loading a program from disk on its own; so a seemingly irresolvable paradox is created: to load the operating system into memory, one appears to need to have an operating system already installed.
The solution to the paradox involves using a special small program, called a bootstrap loader or boot loader. This program doesn't have the full functionality of an operating system, but is tailor-made specifically so that it is capable of loading enough other software for the operating system to start. Often, multiple-stage boot loaders are used, in which several small programs summon each other, until the last of them loads the operating system. The name bootstrap loader comes from the image of one pulling oneself up by one's bootstraps (see boot).
Early programmable computers had toggle switches on the front panel to allow the operator to place the bootloader into the program store before starting the CPU. This would then read the operating system in from an outside storage medium such as paper tape.
Pseudo- assembly codeAssembly language or simply assembly is a human-readable notation for the machine language that a specific computer architecture uses. Machine language, a pattern of bits encoding machine operations, is made readable by replacing the raw values with symbo for the bootloader might be as simple as the following eight instructions:
0: set the P register to 8 1: check paper tape reader ready 2: if not ready, jump to 1 3: read a byte from paper tape reader to accumulator 4: if end of tape, jump to 8 5: store accumulator to address in P register 6: increment the P register 7: jump to 1In modern computers the bootstrapping process begins with the CPU executing software contained in ROM (for example, the BIOSIn computing, the Basic Input-Output System or BIOS is computer interface code that locates and loads the operating system into RAM. It provides low-level communication, operation and configuration to the hardware of a system, which at a minimum drives th of an IBM PCThe IBM PC (Personal Computer), is a trade mark of IBM. The predecessor of the current personal computers, it was introduced in August 1981. The original model was designated the IBM 5150 . It was helped created by Don Estridge who changed the world of IB) at a predefined address (the CPU is programmed to execute this software after reset without outside help). This software contains rudimentary functionality to search for devices eligible to participate in booting, and load a small program from a special section of the most promising device.
Boot loaders may face peculiar constraints, especially in size; for instance, on the IBM PC and compatibles, the first stage of boot loaders is always 512 bytes in length and ends with the AA55h value (which the BIOS looks at to ensure that it is a proper boot loader).