À beira da UEFI
Os dias do bom e velho BIOS estão contados. A Unified Extensible Firmware Interface (UEFI) apresentará uma solução mais poderosa capaz de lidar melhor com as demandas dos diversos hardwares atuais. Em poucas palavras, UEFI é uma interface que cuida de entregar o ambiente de pré-inicialização ao sistema operacional. Demos uma rápida olhada no UEFI e encontramos alguns problemas iminentes.
Você já deve ter ouvido falar sobre UEFI (ou EFI, que foi a abordagem inicial). A Intel iniciou a EFI em 2003 com a arquitetura IA64 do Itanium sob o título Boot Initiative. O conceito foi entregue ao Unified EFI Forum, que gerenciou e promoveu o novo padrão para toda a indústria. AMD, AMI, Apple, Dell, HP, IBM, Insyde, Intel, Lenovo, Microsoft e Phoenix são os principais membros hoje. Um BIOS depende do modo real de 16 bits da arquitetura x86, mas o UEFI apresenta total independência de hardware e interfaces divididas em serviços de inicialização e de tempo de execução. Estes visam a alta padronização, ao mesmo tempo em que apresentam flexibilidade suficiente para que os fabricantes diferenciem seus produtos.
O BIOS: antigo e ainda predominante
Cerca de 25 anos atrás, o BIOS foi projetado para lançar sistemas operacionais. Os primeiros computadores usavam cartões perfurados como alvo de lançamento antes de serem substituídos por ROMs com intérpretes básicos. Hoje podemos escolher uma infinidade de alvos, incluindo disquetes, discos rígidos, drives ópticos e locais de rede. No entanto, a operação real do componente ainda está sujeita ao sistema operacional específico por meio de drivers de dispositivo, enquanto a EFI permite suporte a driver independente do SO por meio de seu próprio modelo de driver.
Houve várias tentativas de modificar o conceito inicial do BIOS. A IBM introduziu um projeto de sistema modificado, o PS/2, em 1988, em parte para combater os clones do BIOS. Sua arquitetura multicanal (MCA) de 32 bits com ABIOS pode ser vista como uma maneira de contornar implementações de BIOS copiadas. A Computação RISC avançada (ARC) visava unir os ambientes de inicialização das plataformas MIPS e Alpha na década de 1990, mas faltava um caminho evolutivo, extensibilidade e possível diversidade de sistemas. PowerPC e SPARC têm seu Open Firmware (OF) e Common Hardware Reference Platform (CHRP), que meio que funcionou contra o ACPI por não adotá-lo.
No final, o BIOS ainda está aqui e ainda faz o que vem fazendo nos últimos 25 anos: garantir que seu sistema operacional possa inicializar. Ele nunca foi projetado para a enorme diversidade de hardware de hoje. Ele ainda está preso a interfaces de 16 bits e interrupções de software, roteamento de interrupção e temporizadores de precisão máxima, espaço de execução de ROM limitado (1 MB) e tamanho de imagem, um número limitado de dispositivos inicializáveis (o que é crítico no espaço do servidor), extensões proprietárias, e falta de modularidade—só para citar alguns problemas.
Suporte UEFI
Os sistemas operacionais começaram a oferecer suporte ao design da interface da plataforma em 2007, mas a maioria das versões do Windows, como Vista com SP1 e Windows Server 2008, oferecia suporte apenas nas edições de 64 bits. Infelizmente, descobrimos que o suporte do setor para UEFI ainda é muito fraco e existem algumas deficiências no armazenamento.