The Extensible Firmware Interface (or simply EFI according to Abbreviationfinder dictionary) is a new technology to replace the BIOS ( Basic Imput / Output System) used in computers. The BIOS was launched in the 1980s on the IBM PC AT and, undergoing modifications, is still used today. But, with the advantages of EFI, this “tradition” tends to change and that is what this article will show in the next lines.
What is EFI
As already mentioned, EFI is a technology that aims to replace the traditional BIOS of computers. However, its capacity is not limited to that. EFI allows a series of features previously impractical with the BIOS, such as the possibility to act as a boot manager on computers with more than one operating system (replacing GRUB, LILO and Boot Magic, for example), a more friendly interface (including using a mouse), ability to develop “multi-platform” drivers, faster loading of the operating system, among others.
If we do a more in-depth analysis, we will see that, in fact, EFI will not completely replace the BIOS, since at least its concepts will be preserved. Therefore, we can even interpret EFI as a new type of BIOS.
What is BIOS
For a better understanding of EFI, it is important to understand what BIOS is:
The BIOS is a type of program stored in ROM memory that tells the processor how to work with essential devices, such as a keyboard, disk drives, ports, etc. As the BIOS deals directly with the hardware, its programming is done in Assembler, a complex language, but appropriate for this type of application.
Another function of the BIOS is the responsibility of allowing the operating system to boot. For this, it tests the hardware (for example, checks if the keyboard is connected and issues an error message if it cannot be found), checks the memory, among others. This phase is known as POST ( P ower- O n S elf T est).
On most computers, if the user presses a special key – such as F1, F2 or Delete – as soon as he turns on the machine, he will have access to a graphic area called Setup. Through it, it is possible to work with hardware configuration options. For example, you can change the speed of the processor, change the memory access time, and perform simpler operations, such as making the computer recognize a disk drive. Setup is directly linked to the BIOS.
Even though it has undergone improvements over time, the BIOS is an old technology, whose limitations are already felt today. This is noticeable, for example, when a new hardware standard is released. Generally, implementing the recognition of this in the BIOS is a very complex task.
A little more about EFI
Now that you know what the BIOS does, let’s get back to EFI. Initially developed by Intel and with strong support from Microsoft, EFI is a feature that can perform the functions of the BIOS and also offer other features. Its development is done in C language, which in itself is already capable of expanding its range of possibilities. In addition, EFI is based on modular interfaces, allowing you to add or change features without having to change its entire structure. This makes it easier to develop and install updates, for example. In addition, the risk of errors decreases, as it is usually sufficient to work only on the module being created or modified.
It is clear that EFI is prepared to deal with current hardware, that is, it is not necessary to discard hardware devices created when EFI was not even considered. For example, a Pentium 4 processor does not need to be modified to work with EFI, since it can be prepared to work with that chip.
This compatibility, however, no longer occurs with operating systems. These do need to deal with EFI differently, compared to the traditional BIOS. Windows XP, for example, does not support EFI, as do 32-bit versions of Windows Vista. However, this compatibility exists in versions of Windows XP, Server 2003 and Vista based on the Intel Itanium processor line. Linux users are in a more comfortable situation: updates to kernel versions not compatible with EFI can solve the problem.
Something very pleased hardware developers is not dependence on EFI a VGA output ( Video Graphics Therray) for testing. In the traditional BIOS, it is necessary to have a video card to run the tests, otherwise this task would not be possible. EFI does not have this dependency, allowing the test result to be directed to a computer or a file, for example.
Another very important feature is the EFI’s ability to handle 64-bit instructions, a feature already prevalent in recent Intel and AMD processors. With the traditional BIOS, a 32-bit version and a 64-bit version are required, depending on the hardware or application.
EFI technology also has pre-boot capability. With it, the operating system can load or update resources even before it is fully operational. This feature may allow the future creation of a series of functionalities, such as automatic updating of the operating system or anti-virus software, automatic activation of a mirror computer in case the first fails, among others.
In addition, EFI allows the development of hardware drivers independent of the platform. This is because, instead of the operating system having to communicate directly with the hardware in question, it does so through EFI. Thus, it is enough for any operating system to know how to “talk” to EFI for it to make the desired hardware “get into action”.
Another advantage of using EFI and the fact that this need not be stored in CMOS chips ( Complementary Metal- TheXide Semiconductor). Its implementation can be done directly on the firmware chip *. In addition, you can store extra resources on your computer’s hard drive and instruct the EFI to access them. If for some reason this data is erased, it will most likely be possible to reinstall it, as if a driver for a particular device in an operating system were reinstalled.
* Firmware is a kind of software embedded in hardware that serves to control it. For example, if you have a device that plays music in MP3 format, the software that allows playback and that shows the information on the display is firmware.
EFI’s proposal is to replace the traditional BIOS, but it is not yet known whether this technology will become standard, even because there is still time for similar or better technologies to emerge. However, it is indisputable that EFI is promising, otherwise companies like Microsoft and Gateway would not be interested in it.
Apple, for example, launched in January 2006 a version of the Mac that uses EFI. Most likely this is because this is one of the first computers in the company to use an Intel processor, the main responsible for EFI. However, for Apple to have accepted such technology, it is because it proves to be really viable and interesting.
There is much to be discussed and there is much to be defined for EFI to be accepted by the hardware industry, but it could happen soon. Its advantages are numerous and are not limited to those mentioned here. In addition, there is already a group formed by several companies to deal with the technology: UEFI ( U nified E xtensible F Irmware I nterface). Even so, the only certainty at the moment is that the traditional BIOS really needs to “become a thing of the past”.