Wednesday, June 23, 2010

BIOS’s Final Boot

It would seem that BIOS is on the verge of being booted out by UEFI!

A PC's BIOS needs no introduction, or does it? For decades, BIOS (an acronym for basic input/output system) has served as the interface between a PC's operating system (OS) and firmware. That is, when a personal computer is powered on, its BIOS checks its connectivity with its peripheral devices, like the keyboard, monitor, disk drive and so on, and also initiates boot operations. In order to enable a machine to self-boot as well as safeguard the BIOS from damage during a disk failure, it was traditionally always stored on its ROM (read only memory) chip, and hence often referred to as the ROM BIOS , MCTS Training.

The Intel Boot Initiative
Undoubtedly, BIOS was a breakthrough when it was conceived in the era of PC-XT and PC-AT computers. But since then, while the humble PC has transformed itself many times over into a far more powerful machine, its BIOS interface has not kept up. That is, until Intel launched its Intel Boot Initiative.
The Intel Boot Initiative aimed to work around the limitations of the conventional BIOS - such as its having been designed to work with the Intel x86 processor architecture (a 16-bit processor); its 1 MB addressable space; and so on. The initiative aimed to create an infrastructure that, unlike BIOS, was not specific to particular processor architecture.
The Intel Boot Initiative was later renamed the Extensible Firmware Interface (EFI). While Intel released the EFI specification 1.02 (see box) as early as December 2000, its sequel specification, 1.10, was released in December 2002. In 2005, Intel encouraged the creation of a Unified EFI forum as an industry-wide forum to promote the adoption and continue the development of the EFI specification. While Intel's EFI specification 1.10 was given over to this forum as its starting point, subsequent specifications released by the group were renamed Unified EFI (UEFI).

---------------------------------------------------------------------------------------------------------------------
What does the UEFI specification include?
According to the UEFI forum, "The interface consists of data tables that contain platform-related information, and boot and runtime service calls that are available to the OS and its loader. Together, these provide a standard environment for booting an OS and running pre-boot programs." It is not as though UEFI completely replaces BIOS. While UEFI offers boot services and runtime services, functions like POST (power on self test) and the set-up traditionally performed by BIOS must still be performed by certain platform firmware.
---------------------------------------------------------------------------------------------------------------------

Modernising the boot process
Narendra Bhandari, director, Asia Pacific, Software & Services Group, Intel, describes UEFI as "...a specification detailing an interface that helps hand off control of the system for the pre-boot environment (i.e., after the system is powered on, but before the operating system starts) to an operating system, such as Windows or Linux. Quite apart from supporting an architecture-independent mechanism to initialise add-in infrastructure like cards, etc, he opines that UEFI can provide a clean interface between operating systems and platform firmware at boot time. It can also enable systems to move beyond the legacy BIOS to facilitate new boot scenarios (authenticated, network), and support new standards and support for hard disks greater in size than 2 terabytes. Further, UEFI establishes a foundation to build many innovative features, such as capsule update or remote configuration, which would help reduce a system's TCO (total cost of ownership) by reducing upgrade downtime as well as making platforms easier to manage MCITP Training."

The move to UEFI is timely, to say the least. Already, the IA-64 architecture envisages three-layered firmware - a processor abstraction layer (PAL), system abstraction layer (SAL) and EFI. Together, these layers provide processor and system initialisation for an OS boot. Individually, PAL performs the conventional machine check abort handling and initiates the processor implementation, while SAL isolates the OS and other high-level software from implementation differences in the platform.

No comments:

MCITP Training - MCITP Certificaion - MCTS Exams Training - CCNA Exams - and more at CertKingdom.com