Earlier this year, I wrote about a new idea from Intel, the Extensible Firmware Initiative. This is in effect a tiny operating system and programming language, which Intel proposes as a replacement for the PC BIOS -- the legacy lump of code that gets your PC out of bed in the morning, cleans its teeth and drives it to work at the operating system. The EFI got a lot of interest: firmware, the stuff that sits between hardware and software, has a bad reputation for being difficult to work with and anything that makes it easier is going to be popular. In particular, nobody likes the BIOS; it's like having a medieval innkeeper working behind the desk at a five-star Hilton.
EFI is a good idea: it lets lots of different peripherals get on well when a computer first starts up, it adds more diagnostics and control options for tricky conflicts between hardware devices, and it lets ordinary programmers -- not the rare and commonly bonkers assembly language variety -- write firmware.
In fact, it's such a good idea that Microsoft and Phoenix Technologies have decided to do exactly the same thing with their Core System Software (CSS). This replaces the BIOS, has improved control, diagnostics, and start-up abilities, and lets ordinary programmers write firmware. Of course, while the Phoenix press releases make great play of how wonderful it is and how Phoenix is "creating an entirely new category of system software", there's no mention that the entirely new category is in fact an entirely old hat.
Where CSS does differ from EFI is that partnership with Microsoft. CSS will have a "new integration model" with Windows, which is puzzling: in general; once firmware has handed over the keys to the kingdom to the operating system, that's it. They no more integrate than a commuter train does with your office desk. What that means for other operating systems is unclear, but there may be a clue in the fact the CSS announcement doesn't have any occasion to use the O word.







Talkback
"firmware, the stuff that sits between hardware and software"
The author doesn't seem to understand what firmware is. Firmware is software code embedded on a microchip (hardware).
You don't, as the author states, "write firmware" - you write software code that will be installed on the firmware chip.
Many peripheral devices such as hard drives and CD/DVD drives have firmware chips with code for operating/monitoring the device.
PDAs load their operating systems (Palm/PocketPC) from firmware.
This quibble aside, I thought it was an interesting article.