The computer is how to carry out, in my learning computer is not very clear, but recently borrowed this "the Art of Linux kernel design" is to know what the computer from the boot to start the operating system between what exactly do.
This book is not about Linux startup, it's just a step before Linux starts, which is what the computer does when you press the boot button and then goes into the system before booting, and this is what every computer that executes the operating system needs to do. The approximate steps are almost the same, OK, go to the chase.
In fact, when we press the power-on button, the hardware circuit will set the CPU's CS to 0xf000,ip set to 0XFFF0, so the program starts from 0XFFFF0, and the 0XFFFF0 command is exactly the first instruction of the BIOS, so the BIOS starts to run instructions, (Where does the BIOS program come from?) , the BIOS is hardware manufacturers in the production of hardware has been written to the motherboard of RAM, of course, now is not write RAM, due to the current BIOS program can be changed, so the BIOS started through a series of instructions for hardware inspection work, And in the 0x00000 place with 1KB space to build the interrupt vector table, in the immediately following 256 bytes loaded in the BIOS data area, in the area around 57KB loaded terminal vector table corresponding interrupt service program, after these operations. The BIOS program runs a 0x19 interrupt, and the interrupt service program loads the 512B (first sector) of the floppy disk into the 0x07c00 of the memory so that the system starts booting the disk, and the boot program does the work of loading the operating system's boot program into memory. The following article details the process of loading the Linux operating system into memory.
The overall flowchart is almost the same:
The art of Linux kernel design--the first step in system startup