First of all, the boot for everyone is to poke the boot button, and then the computer began to buzz, all kinds of fans turn up, display a logo on the display, and finally saw the Win7 of the start animation. What did the computer do in detail in this process? I'm here to say a few words about what I know. (Note that this is only my understanding, I am still very rigorous OH)
1, after the boot, the motherboard's chipset will send a reset signal to the CPU, the CPU will hang, do not immediately execute instructions (cs:eip=0xffff:0x0000) This time the CPU is initialized and the internal restore to its original state. When the chipset detects that the power supply has stabilized, the chipset withdraws the reset signal and the CPU starts executing from 0xffff:0x0000.
This time the computer memory address from 0xc0000 to 0xFFFFF is the address of Rom-bios. What does 0xffff:0x0000 have? There is a far jump instruction to the BIOS initialization program.
2, the BIOS starts to post (power-on Self test, computer test, check CPU, fan, etc.) if there is an error, beep alarm. Because the video card is not initialized, so the information can not be printed to the screen, had to beep alarm. Post is very fast, so the process is generally a matter of a moment.
3. After the post is completed, the BIOS starts initializing the video card. The BIOS looks for the video card BIOS first and then calls the video card bios to initialize it automatically. This time the graphics card BIOS will print some text, such as the logo of the graphics card, but also usually a flash. The BIOS will also look for the bios of other devices and call it for initialization.
4. After initializing each hardware, the BIOS prints out its own information, Logo,bios type, etc. It is also at this time that you see a word on the screen: "Press F2 or Del to enter settings, press F12 to set the boot menu" (the original text is generally "press F2 or DEL to enter setup, or press F12 to setup boot priority.") However, different BIOS, motherboard printing information is different, so the keys are not the same, it may be F10 into the settings, or F1 Settings boot menu. Install the system when you can rub the keyboard, like rubbing the board, just rub F1 to F12 (also try to rub enter, Del), this time you can quickly enter the settings.
5, the BIOS begins to check the memory, some BIOS will show the progress of the check. The purpose of checking memory is primarily to obtain the size of the memory.
6, after checking the memory, the BIOS began to check some of the computer's standard equipment, such as hard disk, CD-ROM, floppy drive, serial (COM), and the port (LPT printer) and other devices.
7, the BIOS begins to check the Plug and Play device (USB, etc.), while assigning it DMA channel, IO port and so on.
8. The BIOS starts to set the extension parameters. Now the motherboard comparison cock, there will be a lot of expansion features, such as overclocking, open-core and other parameters.
After initialization, the allocation of memory is this:
0X00000-0X003FF: Interrupt vector table. For more information about each vector in the interrupt vector table, see here: http://www.ctyme.com/intr/int.htm 0x00400-0x005ff:bios data area. For more information about the BIOS data area, see the Insider of PC technology 0X00600-0X07BFF: Free memory area. The bootloader is free to use. 0X07C00-0X07DFF: Loader Sector loading location 0X07E00-0X9FFFF: Free memory area. The bootloader is free to use. 0XA0000-0XAFFFF: Graphics mode memory 0XB0000-0XB7FFF: Monochrome text mode memory 0XB8000-0XBFFFF: Color text mode memory 0xc0000-0xfffff:bios boot code, self-test code, interrupt handler, etc. 0x100000 above: high memory. You can access the A20 address line after you turn it on
After the BIOS has completed several initialization steps above, start booting according to the user-specified boot menu. The so-called Boot is from the CD, floppy disk, hard disk to find the operating system. Looks pretty dick, but in fact, from the hard disk, floppy disk, etc. read the first sector, check the last two bytes of this sector is not 0X55,0XAA (that is, 0xaa55) if it is, it is determined to "I found the operating system" and then jump to the boot sector section 0x0000:0x7c00 start running.
The first sector of the hard disk is the MBR, the primary boot sector. The first sector of a floppy disk is the DBR, the disk system boot sector. |