Hardware Reference
In-Depth Information
Chapter 5. BIOS
BIOS Basics
It is often difficult for people to understand the difference between hardware and software in a PC
system. The differences can be difficult to understand because both are very much intertwined in the
system design, construction, and operation. However, understanding these differences is essential to
understanding the role of the BIOS in the system.
BIOS stands for basic input/output system , which consists of low-level software that controls the
system hardware and acts as an interface between the operating system (OS) and the hardware. Most
people know the term BIOS by another name— device drivers , or just drivers . In other words, the
BIOS is drivers, meaning all of them. It's essentially the link between hardware and software in a
system. More recently the BIOS has been augmented by a specification called the Unified Extensible
Firmware Interface (EUFI), which specifies a different software interface for boot and runtime
services but still relies on the traditional BIOS for system configuration, power-on self test (POST),
and Setup.
The BIOS consists of software that interfaces the hardware to the OS. The BIOS is unique compared
to normal software in that some of it is preloaded into read-only memory (or ROM), and some is
loaded into RAM from disk.
The BIOS in a running PC is loaded during the system startup from three possible sources:
• Motherboard ROM
• Adapter card ROMs (such as that found on a video card)
• Loaded into RAM from disk (device drivers)
When the PC was introduced, the BIOS software containing all the device drivers for the entire
system was collectively burned into one or more nonvolatile read-only memory (ROM) chips
( nonvolatile means they retain their data even when the power is turned off) and placed on the
motherboard. In essence, the drivers were self-contained, preloaded into memory, and accessible any
time the PC was powered on.
This ROM chip also contained a power-on self test (POST) program and a bootstrap loader. The
bootstrap program was designed to initiate the loading of an OS by checking for and loading the boot
sector from a floppy disk or, if one was not present, a hard disk. After the OS was loaded, it could
call on the low-level routines (device drivers) in the BIOS to interact with the system hardware. In
the early days, all the necessary device drivers were in the BIOS stored in the motherboard ROM.
This included drivers for the keyboard, MDA/CGA video adapters, serial/parallel ports, floppy
controller, hard disk controller, joystick, and clock.
When the OS loaded, you didn't have to load a driver to interact with those pieces of hardware
because the drivers were already preloaded in the ROM. That worked great as long as you didn't add
new hardware for which there wasn't a driver in ROM. If you did, you then had two choices. If the
hardware you were adding was an adapter card, that card could include a ROM onboard containing
the necessary device drivers. The motherboard ROM was programmed to scan a predetermined area
of memory looking for any adapter card ROMs, and if any were found, their code was executed,
essentially adding their functionality to the existing BIOS. In essence, the motherboard ROM
 
 
 
Search WWH ::




Custom Search