|
The BIOS code of most PCs has a number of separate and distinct functions. The BIOS of a typical PC contains routines that test the computer, blocks of data that give the machine its personality, special program routines that allow software to take control of the PC's hardware so that it can more smoothly mesh with the electronics of the system, and even a complete system (in some PCs) for determining which expansion boards and peripherals you have installed and ensuring that they do not conflict in their requests for input/output ports and memory assignments. In a few PCs-mostly IBM's older machine-the BIOS also includes a rudimentary programming language that allows you to use the machine without any other software (or even a disk drive to load it). Although all of these functions get stored in the same memory chips, the program code of each function is essentially independent of the rest. Each function is a separate module, and the name BIOS refers to the entire group of modules.
The classic definition of the PC BIOS is the firmware that gives the PC its personality. This definition refers only to one functional module of the PC, the one that's invariably replaced by operating system code. The nebulous term "personality" described how the computer performed its basic functions, those necessary to make it a real computer. Although this definition includes a number of different factors, including how quickly and smoothly various operations were completed, the term "personality" mostly distinguished PCs from Apple Macintoshes. The PC BIOS was, in some eyes, rudimentary. The functions it supplied appeared basic compared to the elaborate and exotic firmware of the Macintosh, which include high order functions such as how the machine paints graphics. Rather than personality, the difference is philosophy. The PC design envisions the augmentation and replacement of BIOS functions with operating system code. The Macintosh design essentially divides the operating system between software and firmware, the firmware being part of the system's BIOS.
Beyond personality and philosophy, the BIOS firmware of a PC governs how system board components interact, the chipset features that are used, and even how much of the microprocessor's time is devoted to keeping memory working. The setup procedures in most new PCs also are held in the BIOS.
In most PCs, the first thing the BIOS tells the microprocessor to do is to run through all the known components of the system-the microprocessor, memory, keyboard, and so on-and to test to determine whether they are operating properly. After the system is sure of its own integrity, it checks to see whether you have installed any expansion boards that hold additional BIOS code. If you have, the microprocessor checks the code and carries out any instructions that it finds. A modern PC may even check to see if any new expansion boards are plugged in without being set up properly. The BIOS code might then configure the expansion board so that it functions properly in your PC.
When the microprocessor runs out of add-in peripherals, it begins the actual boot-up process, which engineers call the Initial Program Load or IPL. The BIOS code tells the microprocessor to jump to a section of code that tells the chip how to read the first sector of your floppy or hard disk. Program code then takes over from the BIOS and tells the microprocessor how to load the operating system from the disk to start the computer running.
After the operating system has taken control of the microprocessor, the BIOS does not rest. Its firmware also includes several sets of routines that programs can call to carry out everyday functions-typing characters on the screen or to a printer, reading keystrokes, timing events. Because of this basic library, programmers can create their grand designs without worrying about the tiny details. If the operating system wants to take over these functions, the PC BIOS steps out of the way, yielding control without complaint.
The general trend has been for the operating system to take over BIOS functions. Software drivers have taken over nearly all interface functions of the BIOS. Because software drivers load into RAM, they are not limited in the amount of space available for their code. Software drivers also extend the capabilities while the BIOS limits them. Using only the BIOS, your PC cannot do anything that the BIOS does not know about. Consider, for instance, floppy disk drives. When operated in their standard modes, the BIOS routines function well and allow you to read, write, and format floppy disks using the industry standard disk formats. At the same time, however, they impose limits on what the drives can do. Controlled through the BIOS, drives act only like products that have been blessed by your PC's manufacturer. But floppy disk drives are more versatile than the BIOS suggests. They can read and write the disk formats used by other computer system and others that can be used for copy-protecting diskettes. Taking advantage of a disk drive's abilities beyond the powers officially sanctioned by the BIOS has allowed software companies to squeeze more data onto individual floppies in nonstandard formats giving you fewer floppies to worry about when your favorite software doesn't come on CD ROM. |