Boot Process,
PCs
Whatever else the boot process involves, what is most important is what
you see it do, especially on the screen. I will limit details to what to
expect physically.
.. boot up ..
The boot process is performed by the mother board's BIOS chips, a set of
one or two chips, somewhat on the large size, perhaps with 28 pins each.
These are almost always identified with a manufacturer's name, like
"American Megatrends" or "Phoenix."
Different users have distinct preferences for one name brand over
another, especially since early boards (through the late 80's) often
included wacky BIOS chips. (My BIOS gets the date wrong since the beginning
of 2000.)
The BIOS chip is replaceable (although I have never heard of anyone ever
getting a replacement), because -- supposedly -- a BIOS manufacturer can't
guess what type of processor you might install in the future.
The whole purpose of the boot-up process, called the "Power On System
Test" (POST), is to ascertain what is attached to the mother board, that is,
how much memory, if there is a video card, a keyboard, what the hard drive
and floppy drive specifications are. After all, while the computer was
asleep, the user could have made changes.
The POST program is thus hardwired into the BIOS chips, and only starts
up (that is, it is run by the CPU) when the CPU senses that power has been
turned on.
In addition, the BIOS POST process tests everything, although you can set
things up to
not test certain components, or set instructions not to warn you.
More on that below.
One of the first things the BIOS does during a boot-up is to check for
the existence of a video card, and start it up. Without a working video, the
BIOS cannot tell you much of anything.
What the BIOS's POST program
cannot do is to guess what file system or OS may be on board. Thus
the POST stops once it has found the boot sector of the boot device.
.. what happens ..
OK, follow this sequence...
- On the "power up" condition, the CPU clears its registers and loads
the addresss F0000 (hex) into the "next instruction pointer" register.
- This happens to be the address of the system BIOS ROM chip. The BIOS
ROM chip is just a program which stores many different instructions which
can be executed by the CPU.
- Although "F0000" is a memory address in RAM, the CPU knows enough to
look toward the "other end" of the system bus, that is, among the
motherboard chips and extension slots, rather than toward the end which
connects to RAM. In fact the system at this point doesn't even know if it
has any RAM.
- The CPU thus starts executing the instructions in the BIOS chip ROM,
one after another. The BIOS will perform the "POST" portion of its program
on power-up condition (that is, the first time it is run).
- The POST program will perform an inventory of attached equipment,
check it against the list held by the CMOS chip, and eventually turn things
over to a
boot-sector program stored at a
boot-device.
- The first thing the POST program does is to check for the existance of
other ROM chips which might be held on various expansion cards (in the slots
of the expansion card bus).
- These will have addresses in the C0000 to EFFFF range. Hopefully two
cards will not have the same address. Only certain intervals are checked,
and the actual check is to look for two consecutive hex bytes which read
AA,55 (hex).
- When found, the program of the ROM at that location will actually be
executed by the CPU, that is, the BIOS's POST program will be put on hold,
and the CPU will execute the program of the ROM.
- The video card's ROM will always be located at C0000, so it will be
the first to "run." When first run, the video ROM (video BIOS) will
initialize the monitor, usually with a little song and dance on the display.
Good thing, too, for it gives you something to look at.
- When the video BIOS is done, the system BIOS regains controll of the
CPU, and continues to find other ROM chips at higher addresses (for example,
the ROM for the HDC, the Ethernet card, the SCCI controller card) and will
have the CPU execute these.
- Many peripheral devices, however, have their own "stored programs" on
board, which will do local testing of things as soon as the power is on.
That explains why you will hear the hard drive do a self-test, as well as
ZIP drives and backup tapes.
- Next comes the more familiar display of things: a count (and check) of
RAM is made, the keyboard is tested, the drives are located (except certain
streamer Tape drives, ZIP drives, and CDROM drives which don't get
initialized till later), secondary video cards are identified, Com ports are
counted (and initialized by most POST programs, but not all), parallel ports
are found, what kind of CPU is on board, how much CPU cache should be
counted on, what ROMs can be translated to RAM memory, etc. Even a check is
made of the battery attached to the CMOS chip.
- All the while this information is being checked against the list of
things held at the CMOS chip. If the actual list of things does not match
the remembered inventory, the BIOS will complain and ask you to rewrite the
information at the CMOS chip.
- At this point the system will know what (regular) drives are attached,
and what their specifications (heads, cylinders, sectors) are. But it will
not know anything about the organization of the file system on these drives,
or what OS will be in use.
- The POST process at this point gives up, but first it tells the CPU to
take as the next instruction the information written in the boot-sector of
the first boot device (floppy or hard drive) that the POST program has
found.
- The first instruction of the first sector of the boot device is
usually a "jump" to a location (on the drive) for further instructions. For
a DOS system these are the instructions to load into memory the files
IO.SYS, MSDOS.SYS, and COMMAND.COM, and execute them.
- IO.SY and MSDOS.SYS are boot files which remain in memory. IO.SYS will
set up (for DOS) the methods of reading and writing data on the drives, and
how to make sense of the DOS record keeping of the file system. MSDOS.SYS
will determine how to install device drivers (the stuff in the config.sys
file), and knows about additional tasks specific to the DOS Operating
System.
- Once command.com has been executed, it remains in memory to handle all
other requests from the keyboard. It will, in fact just sit there and wait
forever for you to type something.
HOST: Outflux.net, http://www.Outflux.net
URL: http://jnocook.net/user/boot.htm
9