The x86 BIOS: Its Limits and Capabilities
- The x86 BIOS: Its Limits and Capabilities
- 16- and 32-Bit Code
- The BIOS as Driver for DOS
- Modern Uses of the BIOS
- What BIOS Do You Have?
- Add-On Card BIOSs
- Video BIOSs
- Boot BIOSs for SCSI and Networking
- Additional BIOSs
- BIOS Updates
- EIDE and SCSI Hard Disk Handling
- Understanding CHS Geometry Limits
- Getting Around the 1024-Cylinder Limit
- Common BIOS Disk Utilities
- The Handoff to the OS
- Summary
The x86 BIOS: Its Limits and Capabilities
In This Chapter
BIOS History and Design Theory
Add-On Card BIOSs
BIOS Updates
EIDE and SCSI Hard Disk Handling
The Handoff to the OS
BIOS History and Design Theory
To configure a computer to handle several OSs, you must be able to coax each one into booting. This can sometimes be a challenging task because the original IBM PC was not designed with today's complex configurations in mind, and we're still living with the legacy of the IBM PC's design. In particular, the PC's basic input/output system (BIOS) possesses several limitations that are important for understanding how OSs boot. In a single-OS system, you generally need not be terribly concerned with these matters because the OS can generally handle things reasonably well. When you install several OSs, though, you must be aware of how the BIOS gets the OS booted because two OSs can interact with the BIOS in different ways, thus wreaking havoc on one another's configurations.
In this chapter, I present some information on the structure of the BIOS for Intel x86-based computers, with a focus on those features that interact with OSs and the boot process. In Chapter 4, "Boot Loaders: Simple and Complex," I continue the examination of the boot process with a look at what happens when the OS takes over the boot process and how you can get several OSs to boot from a single hard disk.
To understand how the BIOS works, it's important to understand its history. Many of the limitations that give us grief today were useful features in the days of the 8088-based IBM PC. System designers continue to use suboptimal BIOS features because a huge mass of software exists that relies on these old features. Removing or even updating these features would break a great deal of important software, so change has been slow and awkward at best.