Why Doesn't It Work?Dr. Brian K. Lewis*, Ph.D., Sarasota Personal Computer Users Group, Inc.June 2002 |
Did you ever have a
time when you added something to your computer and it didn't
work? It could either be software, hardware or even a Windows upgrade.
Yes, I've seen many add-ons that don't work and it is usually because
of some fundamental conflict. Whenever you add new hardware or do a
Windows upgrade you frequently find that new drivers are needed. In
order to understand why this is so, we need to get an understanding of
the basic interaction of hardware and software in modern computers. So
I will try to gently lead you through to get a better understanding of
the role of the BIOS, drivers and the operating system (OS).
I suspect the place to start is with the BIOS. This stands
for Basic Input/Output System. The BIOS is the link between the
hardware and the software in your computer. Although you may think that
all motherboards are alike, this isn't the case. In addition, there are
different processors that can be attached to a motherboard. For
example, consider the Intel processor line, which currently has several
versions of Celeron, Pentium III and Pentium 4 processors. Then you
also have the AMD processors. Your motherboard may also have a built-in
sound card, video card or Ethernet card. All of this hardware differs
in many ways and requires a unique software connection in order to
speak to the operating system. This software connection is the ROM
BIOS. Each motherboard manufacturer modifies the BIOS that it purchases
from AMI or Phoenix to fit the particular hardware that is included on
the motherboard.
Although we frequently refer to the BIOS as being part of the computer
motherboard, this is only part of the total BIOS software. This
software includes the ROM BIOS that is stored in a chip on the
motherboard, the device drivers, which are loaded into RAM and the
adapter ROM included on plug-in cards on the motherboard. In both cases
the ROM means Read-Only Memory and this program information is stored
as "firmware." Firmware just means that the program has been stored in
a computer chip attached to the motherboard or to an adapter card. One
good example of an adapter card that contains a ROM chip is your video
card. Some firmware, such as the ROM BIOS, may be upgradeable with
software from the manufacturer.
The motherboard BIOS contains all the drivers for the hardware that has
to be available at the time the computer starts or boots. This includes
drivers for the hard drives, floppy drives, serial-parallel ports and
keyboard and other motherboard hardware. It also includes the program
for the initial testing of the system, the power-on system test or
POST. The ROM BIOS is the source of the system setup information that
allows user modification of certain settings such as CPU speed, PnP
settings, boot sequence, etc.
In the startup process, after the code in the ROM BIOS has completed,
there is a command that allows a jump to the boot sectors on the hard
disk. Depending on the settings in the BIOS, this next boot device may
be a floppy drive, ZIP drive or a CD-ROM instead of the hard drive. It
is at this point that the operating system is loaded. The OS also loads
the drivers for all the peripheral devices that are not needed during
the initial BIOS boot process. This includes devices such as printers,
scanners, CD-ROM, CD-RW, ZIP drives, USB ports, mouse drivers, video
drivers and many others.
So you see what we have is a succession of software layers as shown in
figure 1. Each of the higher levels connects to the hardware through
the operating system and the BIOS.
Included in the hardware category are all of the peripherals that
connect to the motherboard either directly or by means of various
connecting cables. So you should begin to see the extraordinary
complexity of the overall system.
Let's consider a few case histories. A few years back when Window
95 was being replaced by Windows 98 some computer manufacturers placed
a notice for laptop owners on their web sites. This notice stated that
laptop owners should not attempt to upgrade their version of Windows by
using a "generic" Windows upgrade. Instead they should buy an upgrade
version from the laptop manufacturer. Why did they do something like
this? The answer lies in the necessity for providing drivers that will
work with the new operating system. Laptop computers have some special
driver requirements related to their LCD screens, video cards, PCMCIA
slots and other hardware. Drivers for these components are generally
not included with a generic OS upgrade. Instead, these are usually
provided by the original hardware manufacturer to the computer
manufacturer. In some cases, the laptop manufacturer decided to not
upgrade the drivers. This meant that the operating system could not be
successfully upgraded unless the user could find the real manufacturer
of the individual components and obtain new drivers from that source.
Without the proper upgraded drivers, the user would have problems with
the computer freezing, the frequent appearance of the dreaded "blue
screen of death" and other seemingly unsolvable problems.
Another case involves adding a larger, faster hard drive to your
computer. There have been limits built-in to the ROM BIOS and or the OS
that limit the maximum size of hard drive that will be recognized.
These limits were 2.1GB, 8.4GB, and 32GB. Even computers that are only
a few years old may have a built-in 32GB size limit. If you are running
Windows 98, SE, or ME then you don't have an operating system
limitation. However, you may have a ROM BIOS limitation. Since most of
the motherboards manufactured since 1996 have a "flash" BIOS, you may
be able to upgrade the BIOS to accept the larger size drive. However,
you must obtain the upgrade from the motherboard manufacturer, not the
BIOS manufacturer. As I mentioned earlier, the computer/motherboard
manufacturer usually tweaks the BIOS to fit the particular hardware
being supplied with the motherboard. In addition, if the drive you are
considering is an ATA-100 drive (also known as UDMA mode 5), and then
you will need a BIOS upgrade to take advantage of the added data
transfer speed of this drive. Only the newest computers have the
drivers built-in for these ATA-100 drives.
This now leads us to the application level. Applications such as
Microsoft Office, Internet Explorer, Corel Draw, etc., reach the
hardware level by interacting with the operating system. It is then up
to the OS to provide instructions to the hardware via the BIOS. So any
software that you purchase or download must work with the OS.
Unfortunately, this is not always the case. Back in the days of DOS,
programmers always tried to write instructions in their programs to
directly control the hardware and bypass the OS. There are still some
programs that try to do that and it frequently results in system
crashes or, at best, system instability. Such programming may prevent
other programs from working correctly. One of our user group members
downloaded a program that blocked pop-up ads on the Internet. This
program did more than anticipated. It also blocked a number of game
programs from running on his computer.
Utility programs such as anti-virus software, pose another problem. In
some cases they need to bypass the OS to reach a lower level in the
BIOS. When you upgrade the OS, the new version may not permit the
utility program to work correctly. Windows XP is a great example of
this problem. It not only requires upgrades in utility software it
requires upgrades in driver software and many applications.
Anytime you make a change to the software or hardware on your
system you may introduce a new problem. The problems that occur may not
be due to Windows. Instead there may be conflicts with some drivers or
with other application software. You should always be certain that the
software is compatible with your version of the OS and that you have
adequate hardware support.
As I hope you can see by now, the answer to my initial question is
rather complex. But I hope with a better understanding of the
relationship of the hardware, ROM BIOS, drivers, OS and applications,
you will have a better idea as to where to look for solutions to your
own questions. Many manufacturers do provide free upgrades for drivers
on their web sites. Such sources or Websites like
<www.windrivers.com> can sometimes help you out of a conflict
between software, the OS and the BIOS.
*Dr.
Lewis, a former university & medical school professor, is a
computer consultant doing instruction, hardware/software services and
system upgrades.
Copyright 2002. This article is from the Sarasota
PC Monitor, the official monthly publication of the Sarasota Personal
Computer Users Group, Inc., P.O. Box 15889, Sarasota, FL 34277-1889.
Permission to reprint is granted only to other non-profit computer user
groups, provided proper credit is given to the author and our
publication. For further information about our group:
Email: admin@spcug.org
Web: Sarasota PC Users Group
The Sarasota Personal Computer Users Group, Inc. has 1,300+ members and
was established in 1982. We are members of the Assoc. of PC
User Groups (APCUG), the Florida Assoc. of PC Users Groups, Inc., and
we are members of the America Online Ambassador Program.