Advertisment

Future of the BIOS

author-image
PCQ Bureau
New Update

BIOS (Basic Input Output System) has been a key component of the IBM PC architecture. It is a set of computer instructions embedded into a chip on the motherboard that is responsible for low-level functions, such as recognizing, configuring and testing the hardware on the system, from RAM to hard disks. It also forms an abstraction layer that allows the OS to communicate with the hardware. With advances in technology, BIOS has moved from being hard coded on to an EEPROM chip to residing on a Flash memory chip, which can be programmed through software. This makes it easy for users to upgrade the BIOS. Despite this, it has some disadvantages, one being a lack of standardization. Since the BIOS is written in assembly language, it is time consuming and difficult for developers to incorporate new hardware changes. It has limited functionality due to memory constraints and, therefore, lacks any advanced diagnostic tools. BIOS is usually text-based. So, its terminology and usage can intimidate users. 

Advertisment

Intel has come up with an alternative aptly called EFI (Extensible Firmware Interface). Unlike BIOS, which is a program, EFI can be considered a tiny OS. Intel terms this as coherent scaleable platform environment, enabling developers to write software for EFI without

taking into account the size or the architecture of the hardware on which it runs.

As an important feature, EFI manages its area of storage space, as a separate partition on the hard disk. This moves the firmware code beyond the costly and limited storage on Flash memory and EEROM. This translates into more freedom for the developer, allowing for diagnostic and control option. As an OS, EFI has its basic network, graphics and storage handling capabilities, which other software for EFI can use. This is irrespective of what OS will run afterwards. User-friendly embedded software might well be an oxymoron, but it is coming soon to a computer next to you. Finally, EFI moves beyond assembly to C, allowing for more complexity and ease of coding.

EFI achieves its platform-agnostic stance by moving some of the hardware nuances into data structures and allowing one to manipulating them. Device drivers can now be shifted to EFI layer. Written in C using normal tools, these device drivers must also adhere to EFI rules. They must also be converted to EFI’s byte code. Currently, EFI is the default boot system on the Intel Itanium 2. It was ported to Intel’s Xscale architecture as proof of concept.

Some skeptics have already started seeing this as potential threat as EFI will give more control to developers on what can run on your computer and what cannot. Beyond DRM issues, other ramifications include effect on competition if Intel decides to make EFI proprietary.

Ankit Khare

Advertisment