• De opvolger van de bios: EFI

    12 October 2007 23:21 door
    Iedereen kent ongetwijfeld de naam BIOS: Basic Input/Output System
    Dit is een klein stukje software geflasht op een max. 1Mb flash geheugen chip die op het moederbord van je PC zit.


    Hoewel je PC, bij wijze van spreken, verouderd bij het verlaten van de winkel, is de BIOS het enige stukje software dat niet of nauwelijks is veranderd sinds zijn ontstaan.

    De BIOS bevat de code die nodig is om de hardware, die je PC nodig heeft om op te starten, aan te spreken. Dit omvat je beeldscherm, je harde schijf, eventueel je optische drive, USB,…
    Wanneer dit gebeurd is, neemt het OS (Operating System) het vaandel over en heeft de BIOS dus géén enkel verder nut meer.
    Elke BIOS ziet je CPU (welke dan ook) nog steeds als de eerste ooit uitgebracht door IBM; de 8088.
    Het is op zich eigenlijk al een wonder dat er verschillende BIOSsen bestaan en dat die ook nog nagenoeg foutloos werken. Voor elk nieuws dat er tegenwoordig uitgevonden wordt, is het nodig een uitbreiding voor de BIOS te schrijven. En juist daar nijpt het schoentje.
    Er bestaat niet iets als een ‘standaard code’ voor het schrijven van BIOSsen. Uitbreidingen worden geschreven met ‘Assembler’, de échte machinetaal die door steeds minder mensen gekend is! Als je een huidige BIOS een levende vorm zou kunnen geven, zou die met veel windels en tape aan elkaar hangen. ’ T Is wroeten en strijden om uitbreidingen (opstarten van USB, overclocktools, ..) te doen werken.
    Bijgevolg drong zich een vernieuwing op, die al sinds de jaren ’90 actief in groei is. Intel trok de kar omdat ze zelf aan een serverprocessor aan het werken waren die niet gebaseerd was op de x86 architectuur (wél Itanium) en dus ook niet gebruik kon maken van de normale BIOS. Resultaat was een project met de naam ‘TIANO’. Een BIOS creëren die niet platform- en niet softwareafhankelijk was, geschreven werd in een high-level programmeertaal, en waarin het mogelijk was makkelijk uitbreidingen toe te voegen. Dit project leverde in 2001 een mooi resultaat, de EFI-standaard. ( Extensible Firmware Interface) Om niet alle resultaat verloren te laten gaan trok Intel alle groten mee in het project, zoals AMD, AMI en Phoenix/Award.
    De gecreëerde onafhankelijkheid moet ervoor zorgen dat alle hardware op alle soorten systemen kan werken. Nu is het zo, dat de Firmware in de hardware dient om te communiceren met de BIOS. Daarom kan een HDD van een Apple bijvoorbeeld niet communiceren met een x86 PC. Het zou dus de bedoeling worden dat hardware een stukje flashgeheugen krijgt, waarop een EFI-driver staat, die ervoor zorgt dat het besturingssysteem deze hardware zonder ‘speciale driver’ toch kan aanspreken. Dat maakt hem dus compatibel met alle systemen zonder dat er ook maar één extra driver geprogrammeerd / geïnstalleerd moet worden! Een toepassing die door LINUX fans enkel maar kan toegejuicht worden, omdat hardwarefabrikanten nu nogal dikwijls nalaten goede drivers te voorzien voor LINUX.
    Een ander pluspunt is dat EFI geschreven werd in C++, een taal gekend door de meeste programmeurs. Dit maakt het schrijven van uitbreidingen relatief makkelijk. Tussen de lijnen lees je dan direct dat moederbordfabrikanten veel gemakkelijker extra’s kunnen laten toevoegen in hun BIOS.