The things that happen at power-up on most any modern computer are pretty much the same. It's dictated by the need to start in an orderly, known fashion every time. The idea of bootstrap programs go all the way back to the very early days of computers.
When you push the power button, the system power supply control logic senses the closed switch and starts powering up the motherboard. On the motherboard there is logic that brings up the chips on the board in the proper sequence.
Once the CPU is powered up properly, the logic on the chip senses that a power on reset has occured. The CPU logic is setup in a specific way such that the chip starts in a prescribed manner each time. This is the key to the whole process.
What happens next varies by according to the individual chip architecture but in general this is where the BIOS gets involved.
The BIOS (BIOS means Basic Input Output System) resides in a EEPROM or FLASH EPROM on the motherboard. This
chip contains the program that gets the machine started along with the low-level routines that interface the operating system with the hardware on the motherboard. The CPU starts by loading an address from the last (or first) few bytes of this ROM and jumping to that address thus starting the boot process.
What happens next is implementation dependent but basically consists of setting the machine up to run an operating system and then loading the boot block off of the selected boot device. This is usually the very first sector of the hard disk. Once this is completed the same thing happens again, the BIOS loads the program into RAM and jumps to it.
Now we're into the loader for the operating system. The loader does more preparation for running the OS and loads more of the OS into RAM. The next step loads what's called the kernel, which is the core operating system. From here you're running the operating system, be it Windows, Linux, whatever.
I
hope this helps!
Mike Harpe, N4PLE
Sellersburg, IN