bit-tech.net

D-EFI-nitely Maybe

Have you ever had the opportunity to watch a young child play with LEGO blocks? It's always so fascinating...the creative problems and solutions that hatch in the plastic worlds that come to life are amazing. The sheer imagination and out-of-the-box thinking is so complete that it's almost laughable to those of us too old to bother to dream anymore.

I've had just such an experience lately, where the little tot of a family friend was building a futuristic village with his pile of brightly coloured bricks. I knelt down and asked him, "Where are the roads? How do they get from place to place?"

He looked at me with disdain, as if I had asked if the sky is really blue. Either that or I had grown a second head. "This is the future, stupid. We've moved on from roads. We teleport."

It makes sense, really. If you're going to redesign your world, why not make more efficient forms of transportation and interconnection? The idea spun in my head for a couple of minutes. "Yeah," I started to think to myself. "In the future, who needs roads?"

The daze continued as I walked over to the computer I was requested to repair, and started doing the key dance for the BIOS. You know the one - you don't know whether it will be F1 or Del, so you tap them both in quick succession while praying to whatever deity you fancy that it's not some odd key like F8. I think they throw those in there just to make us look stupid.

Anyhow, the BIOS screen flashed up in its bright yellow, blue and white with fixed-width fonts, and it hit me. It's been 26 years since the first IBM PC, but it still turns on with the exact same method - the BIOS. Forget highways, we're still using dirt roads.

Come on, guys. We've gone over a quarter-century and somehow nobody has said "Ya know, we've changed the fundamental workings of just about every piece of this system, so maybe it's time to rethink how it all interacts."

"I wonder why something so fundamentally perfect as to not require updating for 26 years actually requires quad-redundancy to maintain stable operation."

I could lie and say I don't think it really affects anything. I could muse on how maybe the interaction between devices, despite how much the devices themselves evolved, still needs to be conducted in the same way. I could think all of those things. I'd be an idiot, but I could.

In reality, I stare at my Gigabyte DQ6 motherboard and wonder why something so fundamentally perfect as to not require updating for 26 years actually requires quad-redundancy to maintain stable operation. I also wonder why once a setting (whose label is cryptic beyond belief) goes wrong, I am fiddling inside my case for that pesky CMOS jumper, which I subsequently always lose in the process. And I think to myself, this is the best it gets?

Of course it isn't. The BIOS isn't perfect at all. In fact, it is the oldest legacy piece in a system. Even with how small it is, it can err or be corrupted, turning your £200 motherboard into a piece of colourful plate-wear. It causes the most RMAs of any motherboard issue, because without substantial investment in single-function tools that even I don't have lying around, you can't correct it if something goes wrong. And resetting, fixing and understanding user-generated setup problems is an exercise in frustration (and usually a few cut fingers from aforementioned jumper).

No, the BIOS doesn't even do its own job right anymore. Try doing that "Enter the BIOS" key dance with your Dinovo Bluetooth keyboard, for instance, and you'll be met with the sudden realisation that Bluetooth keyboards are not keyboards at all in the eyes of the BIOS. I'm not sure what it thinks they actually are, but your computer can't tell it from a toaster until your OS kicks in.

The problem isn't so much with the BIOS itself, but with our evolving expectations of it. So much unintended functionality has been crammed into it since its inception in the 1970s (It actually powered the first IBM XT computers). Multiple devices, specifications, and potential hardware combinations have made powering on and getting everything to talk a lot more than "Basic."

Fortunately, there is a solution, and has been since 2001. And its name is EFI (for Extensible Firmware Interface). Those familiar with EFI are already probably celebrating, but I'll bet that's not many of you. Since most people aren't familiar, I'll give you a basic run-down. EFI is to BIOS what Windows XP is to DOS 3.0. Yeah, they both run your computer...but I think you'll agree there's just a small difference in power and usability.

Back to top

Brett Thomas

It's not meant to take away the BIOS entirely - but it IS meant to replace much of the function that has been forced to be crammed in. Think of it as a "Middle Man," if you will. It allows the BIOS to do just what it was initially designed to - turn the computer on, POST, and feed to a higher program. The EFI is that higher program - it takes all of the add-in cards, initializes them through firmware, and gets them talking.

Unlike BIOS, the EFI doesn't need to be managed as carefully by individual motherboard manufacturers. It's a lot more "Plug and play" on their end, because you can add firmware drivers to it in pieces from the component manufacturers. In turn, this means that manufacturers can update their own devices in ways that can show dramatic differences at a fundamental level, rather than just releasing a card and hoping it works with everything, fixing failures at the software driver level.

Since it handles boot-up and inter-device communication, EFI can also function as a boot loader. It can scan hard drives, USB, Firewire and wired or wireless networks for bootable partitions, and even manage those partitions. This means HDD technology can become more "hot-swappable" than it was in the past, where all of those systems are managed by the OS.

Sounds like something out of a kid's imagination, doesn't it? But EFI is already in use in some systems. Unix and Linux based servers on the Intel Itanium platform have access to it now, as do all Apple computers. Windows based Itanium servers will get a hold of it with the release of Longhorn.

But if it's so great and already in use, why aren't we seeing more of it?

"Until the most commonly used OS in the world starts really pushing for change, nothing will move."

Look at the qualifiers again - 'Nix and OSX can make use of it, but Windows can't. You see it on servers and Macs (which run rather expensive Intel motherboards) but not your £200 enthusiast board. And as much as the name Intel appears (and thus the hope of monopolistic practices), the company gave up control and passed it off to UEFI, an independent organisation (like JEDEC for RAM), just to help promote a change.

The problem, as far as I can tell, lies in two places. First, EFI requires a lot more space than BIOS, so motherboard manufacturers aren't really thrilled with the increased cost. Second, certain operating systems owned by large corporations can't give up the legacy support for BIOS driven machines, so developing an EFI-functional version means writing almost an entirely separate OS (yes, there is THAT much that would change).

Microsoft may be a partner in UEFI, but it sure doesn't seem to act like it. Even Windows Vista does not support the technology, though Microsoft does promise it will for 64-bit versions before they phase it out. But until the most commonly used OS in the world starts really pushing for the change, nothing will move.

Much like the oil companies and car companies with alternative fuels, MS and motherboard manufacturers are in a game of chicken where whoever moves first has to swallow the market adoption costs. Yes, it is the way forward and yes there are profits for everyone down the line, but the initial costs won't be cheap. And with the thin profit margins that exist on motherboards (and hardware in general), it certainly won't be the manufacturers.

Hopefully someone will blink soon, because the current technology is getting overburdened to the point of failure. 26 years of PCs is a long time - the machines are simply not the same as they were. Whole machines at that time were simpler than the northbridge chips we use nowadays. And there is an alternative on the horizon, assuming we can get there.

I sure wish we could teleport.