In computing, booting (also known as "booting up") is a bootstrapping process that starts operating systems when the user turns on a computer system. A boot sequence is the initial set of operations that the computer performs when power is switched on. The bootloader typically loads the main operating system for the computer.
History
The computer word boot is short for 'bootstrap' (short for 'bootstrap load'). The term bootstrap began as a metaphor derived from pull straps sewn onto the backs of leather boots with which a person could pull on their boots without outside help. In computers in the 1950s, pressing a bootstrap button caused a hardwired program to read a bootstrap program from a punched card and then execute the loaded boot program which loaded a larger system of programs from punched cards into memory, without further help from the human operator. In a computing context, that word has been used since at least 1958.
The GE 645 (c. 1965) had a 'BOOT' button – it could be that the contraction started as a way to label the button with fewer letters than the full word.
The Multics operating system (c. 1967) had a boot command. Multics documents also refer to 'boot tapes', but it is hard to determine exactly when that term was first used.
In the Unix operating system, the earliest reference for 'boot' is probably in The Unix Programmer's Manual , first edition 1971.11.03.
The bootstrap concept was used in the IBM 701 computer (1952-1956) which had a "load button" which initiated reading of the first 36-bit word from a punched card in a card reader, or from a magnetic tape unit, or drum unit (predecessor of the harddisk drive). The left 18-bit half-word was then executed as an instruction which read additional words into memory.
Boot loader
A computer's central processor can only execute program code found in Read-Only Memory (ROM) and Random Access Memory (RAM). Modern operating systems and application program code and data are stored on nonvolatile data storage devices, such as hard disk drives, CD, DVD, USB flash drive, and floppy disk. When a computer is first powered on, it does not have an operating system in ROM or RAM. The computer must initially execute a small program stored in ROM along with the bare minimum of data needed to access the nonvolatile devices from which the operating system programs and data are loaded into RAM.
The small program that starts this sequence of loading into RAM, is known as a bootstrap loader , bootstrap or boot loader . This small boot loader program's only job is to load other data and programs which are then executed from RAM. Often, multiple-stage boot loaders are used, during which several programs of increasing complexity sequentially load one after the other in a process of chain loading.
Early computers (such as the PDP-1 through PDP-8 and early models of the PDP-11) had a row of toggle switches on the front panel to allow the operator to manually enter the binary boot instructions into memory before transferring control to the CPU. The boot loader would then read in either the second-stage boot loader (called Binary Loader of paper tape with checksum), or the operating system from an outside storage medium such as paper tape, punched card, or a disk drive.
Pseudo-assembly code for the bootloader might be as simple as the following eight instructions:
0: set the P register to 81: check paper tape reader ready2: if not ready, jump to 13: read a byte from paper tape reader to accumulator4: if end of tape, jump to 85: store accumulator to address in P register6: increment the P register7: jump to 1A related example is based on a loader for a 1970's Nicolet Instrument Corporation minicomputer. Note that the bytes of the second-stage loader are read from paper tape in reverse order.
0: set the P register to 1061: check paper tape reader ready2: if not ready, jump to 13: read a byte from paper tape reader to accumulator4: store accumulator to address in P register5: decrement the P register 6: jump to 1The length of the second stage loader is such that the final byte overwrites location 6. After the instruction in location 5 executes, location 6 starts the second stage loader executing. The second stage loader then waits for the much longer tape containing the operating system to be placed in the tape reader. The difference between the boot loader and second stage loader is the addition of checking code to trap paper tape read errors, a frequent occurrence with the hardware of the time, which in this case was an ASR-33 teletype.
Some computer systems, upon receiving a boot signal from a human operator or a peripheral device, may load a very small number of fixed instructions into memory at a specific location, initialize at least one CPU, and then point the CPU to the instructions and start their execution. These instructions typically start an input operation from some peripheral device (which may be switch-selectable by the operator). Other systems may send hardware commands directly to peripheral devices or I/O controllers that cause an extremely simple input operation (such as "read sector zero of the system device into memory starting at location 1000") to be carried out, effectively loading a small number of bootload instructions into memory; a completion signal from the I/O device may then be used to start execution of the instructions by the CPU.
Smaller computers often use less flexible but more automatic bootload mechanisms to ensure that the computer starts quickly and with a predetermined software configuration. In many desktop computers, for example, the bootstrapping process begins with the CPU executing software contained in ROM (for example, the BIOS of an IBM PC) at a predefined address (some CPUs, including the Intel x86 series are designed 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 (most commonly the boot sector) 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 located on hard drives must fit into the first 446 bytes of the Master Boot Record, in order to leave room for the 64-byte partition table and the 2-byte 0xAA55 'signature', which the BIOS requires for a proper boot loader.
Some operating systems, most notably pre-1995 Macintosh systems from Apple, are so closely interwoven with their hardware that it is impossible to natively boot an operating system other than the standard one. This is the opposite extreme of the bootload using switches mentioned above; it is highly inflexible but relatively error-proof and foolproof as long as all hardware is working normally. A common solution in such situations is to design a bootloader that works as a program belonging to the standard OS that hijacks the system and loads the alternative OS. This technique was used by Apple for its A/UX Unix implementation and copied by various freeware operating systems and BeOS Personal Edition 5.
Second-stage boot loader
The small program is most often not itself an operating system, but only a second-stage boot loader, such as GRUB, BOOTMGR, LILO or NTLDR. It will then be able to load the operating system properly, and finally transfer execution to it. The system will initialize itself, and may load device drivers and other programs that are needed for the normal operation of the OS.
Many bootloaders (like GRUB, BOOTMGR, LILO, and NTLDR) can be configured to give the user multiple booting choices. These choices can include different operating systems (for dual or multi-booting from different partitions or drives), different kernel versions of the same operating system (in case a new version has unexpected problems), different kernel options (e.g., booting into a rescue or safe mode) or some standalone program that can function without an operating system, such as memory testers (e.g., memtest86+) or even games. Usually a default choice is preselected with a time delay during which you can press a key to change the choice, after which the default choice is automatically run, so normal booting can occur without interaction.
The boot process is considered complete when the computer is ready to interact with the user, or the operating system is capable of running ordinary applications. Typical modern PCs boot in about one minute (of which about 15 seconds are taken by a power-on self test (POST) and a preliminary boot loader, and the rest by loading the operating system, pre-OS time can be considerably shortened by bringing the system with all cores at once, as with coreboot in as little as 3 seconds, whereas large servers may take several minutes to boot and start all their services.
Many embedded systems must boot immediately. For example, waiting a minute for a digital television or sat-nav to start is generally unacceptable. Therefore such devices have their complete operating system in ROM or flash memory so the device can begin functioning immediately. For these types of embedded system little or no loading is necessary, since the loading can be precomputed and stored on the ROM when the device is made.
Large and complex systems may have boot procedures that proceed in multiple phases, each phase loading a more complex version of itself, until finally the actual operating system is loaded and ready to execute. Because most operating s
What is warm boot? - A Word Definition From the Webopedia Computer ...
This page describes the term warm boot and lists other pages on the Web where you can find additional information.
warm boot definition of warm boot in the Free Online Encyclopedia.
warm boot. Restarting the computer by performing a reset operation (pressing reset, Ctrl-Alt-Del, etc.) while the computer is still turned on. The restart does not turn the power ...
warm boot - Computer Definition
Restarting the computer by performing a reset operation (pressing reset, Ctrl-Alt-Del, etc.) while the computer is still turned on. The restart does not turn the power off.
warm boot - definition of warm boot by the Free Online Dictionary ...
warm boot. n. The act or process of restarting a computer without turning off the power. A warm boot erases everything in RAM and then reloads the operating system into RAM.
warm boot from FOLDOC
warm boot < operating system > A boot from power on, where the CPU and peripherals are already powered up (warm). A warm boot might be performed after a software crash or a ...
warm boot, cold boot - Developer Discussion Boards
warm boot, cold boot General Symbian C++ ... Hello there, what does warm boot and cold boot means? Can you write something?
Warm boot Definition | Definition of Warm boot at Dictionary.com
Copy & paste this link to your blog or website to reference this page
warm boot - The Jargon File v4.4.7
Online Jargon File archive with RSS feed giving random jargon files entries and other Hackers Dictionary resources.
Booting - Wikipedia, the free encyclopedia
In computing, booting (also known as "booting up") is a bootstrapping process that starts operating systems when the user turns on a computer system.
warm boot - Dictionary definition and pronunciation - Yahoo! Education
Find dictionary definitions, audio pronunciations, and spellings for warm boot in the free online American Heritage Dictionary on Yahoo! Education