2.2 BIOS Overview
A BIOS functions as an insulator between the hardware on one hand, and the operating system and
applications software on the other. A standard uniprocessor BIOS performs the following
Tests system components.
Builds configuration tables to be used by the operating system.
Initializes the processor and the rest of the system to a known state.
Provides run-time device-oriented services.
For a multiprocessor system, the BIOS may perform the following additional functions:
Pass configuration information to the operating system that identifies all processors and other
multiprocessing components of the system.
Initialize all processors and the rest of the multiprocessing components to a known state.
This specification allows a wide range of capability in the BIOS. At the minimal end of the
capability scale, the system developer can simply insert an MP floating pointer structure in the
standard BIOS. The cost of this level of simplicity in the BIOS, however, is that the system
developer has less flexibility in the design of the hardware. At the maximal end of the BIOS
capability scale might be a BIOS that dynamically configures the system to provide resilience in
the face of component malfunctions.
BIOS developers should read Chapters 3, 4, 5, and Appendix A to understand the tradeoffs
between hardware and BIOS capabilities.
2.3 Operating System Overview
Enabling the creation of shrink-wrapped MP operating systems is one of the principal goals of this
specification. This goal is achieved by allowing a flexible balance between the capabilities of the
hardware and those of the BIOS. The potentially vast variety of hardware configurations is
reduced by the BIOS to a few simple scenarios that can be readily handled by the low-level boot-
up phase of the operating system.
Operating-system developers should read Chapters 3, 4, and 5, and Appendixes A and B to fully
understand the interface between the BIOS and the operating system.