Michael Harpe wrote:
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.
In my first job the computer was turned on every morning. It had a
paper tape reader on front. There was a short tape called boot-up. This
you put in the tape reader and started the computer. It read off the
instructions on how to start from the tape.
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.
After the boot-up tape was done there was a much longer paper tape
that got all the things working like a monitor and a keyboard.
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
So even 50 years ago there was a boot-up method not a lot different
than now.
--
Karl F. Larsen, AKA K5DI
Linux User
#450462 http://counter.li.org.