3 In computing, booting (also known as booting up) is a process that begins when a user turns on a
4 computer system and prepares the computer to perform its normal operations. On modern computers, this
5 typically involves loading and starting an operating system. The boot sequence is the initial set of operations
6 that the computer performs when power is switched on. A boot loader is a computer program that typically
7 loads the main operating system or runtime environment for the computer after completion of a power-on self-
9 Since the IBM 701 in the 1950s, booting has been used to load programs and operating systems into the
10 main memory of stored-program computers, including mainframe computers, minicomputers, microcomputers,
11 personal computers, and consumer electronics devices. Some simpler embedded systems do not require a boot
12 sequence to begin functioning and may run programs stored in read-only memory (ROM) when turned on.
13 There are numerous examples of single and multi-stage boot sequences that begin with the execution of boot
14 program(s) stored in boot ROMs. During the booting process, the binary code of an operating system or
15 runtime environment may be loaded from nonvolatile secondary storage (such as a hard disk drive) into volatile,
16 or random-access memory (RAM) and then executed. The booting concept is also known as "Initial Program
17 Load" for IBM mainframe computers.
18 The computer word boot is short for bootstrap (itself short for bootstrap load). The term bootstrap
19 derives from the idiom to pull oneself up by one's bootstraps. The term refers to the paradox that a computer
20 cannot run without first loading software but must be running before any software can be loaded.
21 Upon starting, a personal computer's x86 CPU runs the instruction located at the memory location CS:IP
22 F000:FFF0 of the BIOS, which wraps to linear address 0xFFFF0, the BIOS entry inside the ROM. This memory
23 location is close to the end of the 1 MB of system memory accessible in real mode. It typically contains a jump
24 instruction that transfers execution to the location of the BIOS start-up program. This program runs a power-on
25 self-test (POST) to check and initialize required devices. The BIOS goes through a pre-configured list of non-
26 volatile storage devices ("boot device sequence") until it finds one that is bootable. A bootable device is defined
27 as one that can be read from, and the last two bytes of the first sector contain the word 0xAA55 (also known as
28 the boot signature).The boot process can be considered complete when the computer is ready to interact with
29 the user, or the operating system is capable of running system programs or application programs. Typical
30 modern personal computers boot in about one minute, of which about 15 seconds are taken by a power-on self-
31 test (POST) and a preliminary boot loader, and the rest by loading the operating system and other software.
32 Time spent after the operating system loading can be considerably shortened to as little as 3 seconds by
33 bringing the system up with all cores at once, as with coreboot. Large servers may take several minutes to
34 boot and start all their services.