DOS Lesson 2: Booting


The term boot is short for bootstrap, and the metaphor
is to imagine a person wearing boots who reaches down, pulls on their bootstraps,
and lifts themselves into the air. Of course, this only is possible in cartoons,
but it is a vivid image. With the power off, a computer is a dead hunk of silicon,
steel, and wires. During the boot process, it has to wake up, find all of its
peripherals, and configure itself to run software. It takes some doing to make
all of this happen.


The process begins with the BIOS
(Basic Input Output System), which is a series of instructions that are contained
on a ROM
(read-only memory) chip. In addition to the ROM BIOS there are settings that
are held on a bettery-powered chip. This chip is frequently made of a special
material called CMOS
(complementary metal oxide semiconductor). These settings are configurable by
the user, and can be accessed at the beginning of the boot process by pressing
a special key, such as F1 or Delete. The settings held in the CMOS tell the
computer which disk drives are present, and the order in which these disks should
be checked for boot information.


The very first thing that happens in the boot sequence is the
POST (Power
On Self Test). This is run from the BIOS, and allows the computer to check for
memory (you see it clicking through the available memory on your screen), check
for a keyboard, and check for disk drives. If it does not find these things,
it gives an error, sometimes on the screen, but more often by emitting a series
of beeps through the pc built-in speaker. There are different varieties of BIOS,
and each has its own BEEP codes, which are used to diagnose problems during
the boot process. On the screen you may see errors like “keyboard failure”,
“Failure accessing floppy disk”, etc.


Assuming that the keyboard is working, the memory is there, and
it can find the proper disk drive, the BIOS then looks to the appropriate disk
for further instructions. Whether a floppy or a hard disk drive, the very first
sector of a bootabledisk ( the boot sector) contains the Master
Boot Record
(MBR). The Master Boot Record contains information on where
to go next in the boot process. If the Master Boot Record is found, the boot
process goes forward. If it is not found, or is damaged in some way, you may
receive an error that says that the disk is not bootable, or is “not a
system disk”.

Everything said up to this point is generically true of the boot
process for all Intel-based PCs, regardless of the operating system. From this
point on, the details will be given for DOS. Some of these steps you may find
are retained in Windows, but that is not our concern here.

The DOS Boot Process

When DOS was first used by IBM for its personal computers, the
OS was called PC-DOS, and IBM gave certain names to the files that made them
sound like IBM-specific files. But as soon as clone-makers (e.g. Compaq, Dell)
starting making IBM-compatible clone computers, Microsoft released a clone version
called MS-DOS, and renamed some of those files. Now MS-DOS is much more widely
used than PC-DOS, and MS-DOS names are more common.

For DOS systems, the MBR will point the computer to two hidden
start-up files. The first of these files is IO.SYS (or for IBM computers, IBMBIO.COM).
This must be the very first file (physically) on your boot disk or your disk
will not boot. The second file is called MSDOS.SYS (or IBMDOS.COM for IBM computers).
This must be the second file (physically) on the boot disk or it will not boot.
This is why you cannot create a boot disk by simply copying thse files to blank
floppy disk. They would be on the disk, but they would not be in the proper
position for the boot process to find them. To create a “system disk”,
you need to use a particular command that tells the computer to place these
files in the precise position needed for booting to occur.

The DOS Boot Sequence

IO.SYS (or IBMBIO.COM) contains the interface between MS-DOS (or
PC-DOS) and the I/O subsystem. This allows the OS to communicate with the basic
peripherals and perform input and output tasks.

MSDOS.SYS (or IBMDOS.COM) is the Kernel
of the OS. It interacts with the hardware and helps process the various DOS

Both IO.SYS and MSDOS.SYS are hidden files, which means that ordinarily
you would not be aware of them, and they would not appear in a directory listing.
This is to protect the OS from someone mistakenly deleting these key files and
rendering the computer unable to boot.

The third file to be loaded is CONFIG.SYS. As the name implies,
this file contains information that helps to configure your system. This is
where you would install devices and drivers, for instance. In DOS it is common
to have your mouse, sound card, and CD-ROM drive installed here, as well as
certain memory management and other functions. If there is no CONFIG.SYS file
present, a default version contained within MSDOS.SYS is loaded.

The fourth file to be loaded, which is automatically added to
the disk when you make a system disk, is COMMAND.COM. This file does not need
to be in any particular physical location on the disk, but does need to be in
the root directory. This file is a command interpreter, which means that
it can interpret the commands you issue. Every OS has some type of command interpreter,
though they may use a differetn name. In Unix (and Linux), for instance, the
command interpreter is generally called a shell.
COMMAND.COM interprets all of the Internal
. We’ll discuss these later, but for the moment think of them
as the most common commands that DOS uses.

The fifth, and last file to be loaded is AUTOEXEC.BAT. This is
a batch file,
which means that it contains a series of commands that are executed whenever
the file is run. This file is “aotomatically executed” when you boot,
hence the name. If there is no AUTOEXEC.BAT file present, a default version
is run. You can usually tell because if the default version is run you will
be asked to enter the date and the time.

After all of this, if it all works correctly, you will finally
see the prompt, which will most likely look like one of these:



Summary of the DOS Boot Sequence

  1. POST
  2. MBR
  3. IO.SYS
  8. Command prompt