Booting Sequence

Booting is a process or set of operations that loads and starts the operating system, starting from the point when user switches On the power button. A boot sequence is the initial set of operations that the computer performs when it is switched on.

Every computer has a boot sequence. Having complete understanding of the booting sequence will keep us to troubleshoot many of the startup issues of a computer.

Bootstrapping: When a PC is turned On, nothing seems to happen for several seconds. This is the time when your computer is going through a complex set of operations to make sure that all of its components are working.

Bootstrap is a small amount of code which lets the PC do something entirely on its own. It actually brings all its components to life so that they can accomplish the goal of loading on OS. In other words it performs two major functions i.e. POST and Searching drives for an Operating System ( in HDD, FDD ). When these functions are completed, the boot operation launches the process of reading the Operating System’s files and loading them into RAM.

BIOS: Every Motherboard carries a BIOS ( Basic Input Output System ) that exist on ROM chip. This Chip is programmed with software that controls the flow of information among the various component of the computer and it also handles information regarding the various hardware present in the system.

POST: ( Power On Self Test ) is the first thing your PC does when you turn it ON. There are some testing routine that are stored in your ROM BIOS which bring about the PC initialization. These routines are POST programs. Because most tests are internal you may not be aware that POST is checking the Video board, keyboard and memory all prior to booting the computer from a floppy disk or a hard disk. When the POST detects an error from the keyboard display, memory or any other component it produces an error / warning in the form of a message or beeps.

Booting Sequence:

1.     When power is applied to the system and all output voltages from the power supply are good, the power supply will generate a power signal which is received by the motherboard timer. When the timer receives this signals, it stops forcing a reset signal to the CPU and the CPU begins processing instructions

2.     The  very first instruction performed by a CPU is to read the contents of a specific memory address that is preprogrammed into the CPU. In the case of x86 base processors, this address is FFFF:0000h.     This is the last 16 bytes of memory at the end of the first megabyte of memory. The code that the processor reads is actually a jump command ( JMP ) telling the processor where to go in memory to read the BIOS ROM.

3.     POST is a series of individual functions or routines that perform various initialization and tests of the PC’s hardware. BIOS start with a series of test of the motherboard hardware i.e. the CPU, math coprocessor, timer IC’s, DMA controllers, and IRQ controllers. The order in which these tests are performed varies from motherboard to motherboard.

4.     Next,  the BIOS will look for the presence of video ROM between memory locationsC000:000h and C780:000h. if a video BIOS is found, its contents will be tested with a checksum test. If this test is successful, the BIOS will initialize the video adapter. It will pass controller to the video BIOS, which will in turn initialize itself and then assume controller once it’s complete. At this point, you should see things like a manufacturer’s logo from the video card manufacturer video card description or the video card BIOS information.

5.     Next, the BIOS will scan memory from C800:000h to DF800:000h in 2KB increments. It’s searching for any other ROM’s that might be installed in the computer, such as network adapter cards or SCSI adapter cards. If a adapter ROM is found, its contents are tested with a checksum test. If the test pass, the card is initialized. Controller will be passed to each ROM for initialization then the system BIOS will resume the controller. If these tests fail, you should see an error message displayed telling you “XXXX ROM Error”. The XXXX indicates the segment address where the faulty ROM was detected.

6.     Next, Bios will begin checking memory at 0000:0472h. this address contains a flag which will tell the BIOS if the system is booting from a cold boot or warm boot. A value of 1234f at this address tell the BIOS that the system was started from a warm boot. In the event of warm boot, the BIOS will skip the POST routines. If a cold start is indicated, the POST routines will be run.

7.     Once POST is complete and no errors found, the BIOS will begin searching for any operating system. Typically, the BIOS will look for a DOS Volume Boot Sector on the floppy drive. If no operating system is found, it will search the next location, the hard drive C.

Warm Boot: Alternatively referred to as a soft boot, a warm boot is a method of restarting a computer that is already ON without completely turning the computer OFF. On a computer running Windows, a warm boot can be accomplished by pressing the Ctrl + Alt + Del keys simultaneously or by selecting a restart option within Widows.  A warm boot is faster than turning a computer OFF and ON again ( cold boot ) and is done when your computer needs to restart, and you plan on continuing to use the computer.

Cold Boot: Alternatively referred to as a hard boot, cold boot is a term used to describe the process of turning ON the computer after it has been powered OFF. For example, when you first turn your computer ON after being OFF for the night you are cold booting the computer.

Leave a Reply

Your email address will not be published. Required fields are marked *