An outline of the boot sequence
Things
start rolling when you press the power button on the computer (no! do
tell!). Once the motherboard is powered up it initializes its own
firmware – the chipset and other tidbits – and tries to get the CPU
running. If things fail at this point (e.g., the CPU is busted or
missing) then you will likely have a system that looks completely dead
except for rotating fans. A few motherboards manage to emit beeps for an
absent or faulty CPU, but the zombie-with-fans state is the most common
scenario based on my experience. Sometimes USB or other devices can
cause this to happen: unplugging all non-essential devices is a possible
cure for a system that was working and suddenly appears dead like this.
You can then single out the culprit device by elimination.
If
all is well the CPU starts running. In a multi-processor or multi-core
system one CPU is dynamically chosen to be the bootstrap processor (BSP)
that runs all of the BIOS and kernel initialization code. The remaining
processors, called application processors (AP) at this point, remain
halted until later on when they are explicitly activated by the kernel.
Intel CPUs have been evolving over the years but they’re fully backwards
compatible, so modern CPUs can behave like the original 1978 Intel
8086, which is exactly what they do after power up. In this primitive
power up state the processor is in real mode with memory paging
disabled. This is like ancient MS-DOS where only 1 MB of memory can be
addressed and any code can write to any place in memory – there’s no
notion of protection or privilege.
Read more: @ source: http://duartes.org/gustavo/blog/post/how-computers-boot-up
No comments:
Post a Comment