Encyclopedia > Booting

  Article Content

Booting

In computing, booting is a bootstrapping process that starts operating systems when the user turns on a computer system.

Most computer systems can only execute code found in the memory (ROM or RAM); modern operating systems are mostly stored on hard disk 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.

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 code 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 1

In modern computers the bootstrapping process begins with the CPU executing software contained in ROM 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. The small program is most often not itself an operating system, but only a second-stage boot loader, such as LILO[?]. It will then be able to load the operating system proper, 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.

The boot process is considered complete when the computer is ready to answer queries from the outside. Typical modern PCs boot in about a minute (of which about 15 seconds are taken by the preliminary boot loaders, and the rest - by the one loading the operating system), while large servers may take several minutes to boot and to start all services; to ensure high availability, they bring up some services before others.

Most embedded systems must boot almost instantly -- for instance, waiting a minute for the television to come up is not acceptable. Therefore they have their whole operating system in ROM or flash memory, so it can be executed directly.

In computing, a boot sequence is the operations the computer performs when it is switched on, which load an operating system.

Boot sequence on standard PC (IBM-PC compatable)

Upon starting, a personal computer's CPU reads the instruction located at the memory register labelled FFFF0h of the BIOS ROM (Read only memory). This memory register location is at the end of system memory. This memory register contains a jump instruction that informs the CPU where the CPU can find the real BIOS start-up program.

The CPU of the computer executes the BIOS ROM code that contains the boot routine code. The BIOS executes the boot routine code and reads the master boot record. From the master boot record, the BIOS determines the active primary partition from which to boot an operating system. The active primary partition will contain a partition boot record that contains the instructions to boot the specific operating system. The BIOS passes this data to the CPU. The CPU executes the operating system boot instructions contained within the active primary partition.

This design allows the BIOS to load any operating system without knowing exactly where to start inside its partition.

Some other procesor have another kind of boot modes, most DSP include :

  • Serial mode boot
  • Parallel mode boot
  • HPI boot
  • Warm boot / Soft boot refer to an abbridged start up routine which does not require that power be removed then reapplied.



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
Convex

... (or on any convex subset of some vector space) is called convex if for any two points x and y in its domain and any t in [0,1], we have <math>f(tx+(1-t)y)\leq t ...