BIOS Hardware/Software
The BIOS itself is software running in memory that consists of all the various drivers that interface the hardware to the operating system. The BIOS is unique compared to normal software in that it doesn't all load from disk; some of it is preloaded into memory chips (read-only memory, or ROM) installed in the system or on adapter cards.
The BIOS in a PC comes from three possible sources:
-
Motherboard ROM
-
Adapter card ROM (such as that found on a video card)
-
Loaded into RAM from disk (device drivers)
The motherboard ROM BIOS is most often associated with hardware rather than software. This is because the BIOS on the motherboard is contained in a ROM chip on the board, which contains the initial software drivers needed to get the system running.
Years ago, when only DOS was running on basic PCs, this was enough, so no other drivers were needed—the motherboard BIOS had everything that was necessary. The motherboard BIOS usually includes drivers for all the basic system components, including the keyboard, floppy drive, hard drive, serial and parallel ports, and more.
As systems became more complex, new hardware was added for which no motherboard BIOS drivers existed. These included devices such as newer video adapters, CD-ROM drives, SCSI hard disks, USB ports, and so on.
Rather than requiring a new motherboard BIOS that would specifically support the new devices, it was far simpler and more practical to copy any new drivers that were necessary onto the system hard disk and configure the operating system to load them at boot time.
This is how most CD-ROM drives, sound cards, scanners, printers, PC Card (PCMCIA) devices, and so on are supported. Because these devices don't need to be active during boot time, the system can boot up from the hard disk and wait to load the drivers during the initial operating system load.
Some drivers, however, must be active during boot time. For example, how could you boot from a hard disk if the drivers necessary to make the disk interface work must be loaded from that disk? Obviously, the hard disk drivers must be preloaded into ROM either on the motherboard or on an adapter card.
How will you be able to see anything onscreen if your video card doesn't have a set of drivers in a ROM? The solution to this could be to provide a motherboard ROM with the appropriate video drivers built in; however, this is impractical because of the variety of video cards, each needing its own drivers.
You would end up with hundreds of different motherboard ROMs, depending on which video card you had. Instead, when IBM designed the original PC, it created a better solution. It designed the PC's motherboard ROM to scan the slots looking for adapter cards with ROMs on them.
If a card was found with a ROM on it, the ROM was executed during the initial system startup phase, before the system began loading the operating system from the hard disk.
By putting the ROM-based drivers right on the card, you didn't have to change your motherboard ROM to have built-in support for new devices, especially those that needed to be active during boot time. A few cards (adapter boards) almost always have a ROM onboard, including the following:
-
Video cards. All have an onboard BIOS.
-
SCSI adapters. Those that support booting from SCSI hard drives or CD-ROMs have an onboard BIOS. Note that, in most cases, the SCSI BIOS does not support any SCSI devices other than a hard disk; if you use a SCSI CD-ROM, scanner, Zip drive, and so on.
You still need to load the appropriate drivers for those devices from your hard disk. Most newer SCSI adapters support booting from a SCSI CD-ROM, but CD-ROM drivers are still necessary to access the CD-ROM when booting from another drive or device.
-
Network cards. Those that support booting directly from a file server have what is usually called a boot ROM or IPL (initial program load) ROM onboard. This enables PCs to be configured on a LAN as diskless workstations—also called Net PCs, NCs (network computers), thin clients, or even smart terminals.
-
IDE or floppy upgrade boards. Boards that enable you to attach more or different types of drives than what is typically supported by the motherboard alone. These cards require an onboard BIOS to enable these drives to be bootable.
-
Y2K boards. Boards that incorporate BIOS fixes to update the century byte in the CMOS RAM. These boards have a small driver contained in a BIOS, which monitors the year byte for a change from 99 to 00.
When this is detected, the driver updates the century byte from 19 to 20, correcting a flaw in some older motherboard ROM BIOS. Although it might seem strange to list Y2K boards because the century changed a few years ago, if installed these boards often remain in use until the systems using them are retired.