Al limite dell’UEFI
I giorni del buon vecchio BIOS sono contati. La Unified Extensible Firmware Interface (UEFI) introdurrà una soluzione più potente in grado di far fronte meglio alle richieste dell’hardware diversificato di oggi. In poche parole, UEFI è un’interfaccia che si occupa di consegnare l’ambiente di pre-avvio al sistema operativo. Abbiamo dato una rapida occhiata a UEFI e abbiamo riscontrato alcuni problemi imminenti.
Potresti aver già sentito parlare di UEFI (o EFI, che era l’approccio iniziale). Intel ha avviato EFI nel 2003 con l’architettura IA64 di Itanium con il titolo Boot Initiative. Il concetto è stato passato all’Unified EFI Forum, che ha gestito e promosso il nuovo standard per l’intero settore. AMD, AMI, Apple, Dell, HP, IBM, Insyde, Intel, Lenovo, Microsoft e Phoenix sono oggi i membri principali. Un BIOS si basa sulla modalità reale a 16 bit dell’architettura x86, ma UEFI introduce la completa indipendenza dall’hardware e le interfacce suddivise in servizi di avvio e runtime. Questi mirano a un’elevata standardizzazione introducendo al contempo una flessibilità sufficiente per consentire ai produttori di differenziare i loro prodotti.
Il BIOS: antico e ancora prevalente
Circa 25 anni fa, il BIOS è stato progettato per avviare i sistemi operativi. I primi computer utilizzavano le schede perforate come obiettivo di lancio prima che queste venissero sostituite da ROM con interpreti di base. Oggi possiamo scegliere una pletora di destinazioni, inclusi floppy disk, dischi rigidi, unità ottiche e percorsi di rete. Tuttavia, il funzionamento effettivo dei componenti è ancora soggetto al particolare sistema operativo tramite i driver di dispositivo, mentre EFI consente il supporto del driver indipendente dal sistema operativo tramite il proprio modello di driver.
Ci sono stati diversi tentativi di modificare il concetto iniziale del BIOS. IBM ha introdotto un progetto di sistema modificato, il PS/2, nel 1988, in parte per combattere i cloni del BIOS. La sua architettura multicanale (MCA) a 32 bit con ABIOS può essere vista come un modo per aggirare le implementazioni del BIOS copycat. Advanced RISC Computing (ARC) mirava a unire gli ambienti di avvio delle piattaforme MIPS e Alpha negli anni ’90, ma mancava di un percorso evolutivo, estensibilità e possibile diversità di sistema. PowerPC e SPARC hanno il loro Open Firmware (OF) e Common Hardware Reference Platform (CHRP), che in qualche modo hanno funzionato contro ACPI non accettandolo.
Alla fine, il BIOS è ancora qui e fa ancora quello che ha fatto negli ultimi 25 anni: assicurarsi che il tuo sistema operativo possa avviarsi. Non è mai stato progettato per l’enorme diversità di hardware di oggi. È ancora bloccato con interfacce a 16 bit e interruzioni software, routing degli interrupt e timer di massima precisione, spazio di esecuzione ROM limitato (1 MB) e dimensioni dell’immagine, un numero limitato di dispositivi inizializzabili (che è fondamentale nello spazio del server), estensioni proprietarie, e la modularità mancante, solo per citare alcuni problemi.
Supporto UEFI
I sistemi operativi hanno iniziato a supportare il design dell’interfaccia della piattaforma nel 2007, ma la maggior parte delle versioni di Windows, come Vista con SP1 e Windows Server 2008, offriva supporto solo nelle edizioni a 64 bit. Sfortunatamente, abbiamo scoperto che il supporto del settore per UEFI è ancora molto debole e ci sono alcune carenze sul lato dello storage.