Escolar Documentos
Profissional Documentos
Cultura Documentos
Firmware Interface
Esta página cita fontes, mas estas não cobrem todo o conteúdo.
Saiba mais
Logomarca da UEFI
Diagrama mostrando o posicionamento do EFI na pilha de softwares
A especificação original EFI (Extensible Firmware Interface) foi desenvolvida pela Intel.
Algumas de suas práticas e formatos de dados espelham aqueles do Windows. Em 2005, a
UEFI tornou a EFI 1.10 (versão final do EFI) obsoleta. A especificação da UEFI é gerenciada
pelo Unified EFI Forum.
História
A motivação original para o EFI veio durante o início do desenvolvimento do primeiro sistema
Intel-HP Itanium em meados de 1990. As limitações do PC BIOS (modo 16-bits, espaço de
endereçamento de 1MB, dependências de hardware PC AT, etc.) foram vistas como
claramente inaceitáveis para a grande plataforma de servidores visada como alvo. Os
esforços iniciais para resolver esses problemas foram inicialmente chamados Intel Boot
Initiative e foi depois renomeado para Extensible Firmware Interface (EFI).[1]
A especificação EFI 1.10 foi lançada no dia 1 de dezembro de 2002. Ela inclui o modelo de
driver como também várias pequenas melhorias para a 1.02.
Vantagens
A interface definida pela especificação EFI inclui tabelas de dados que contêm informações
de plataforma e serviços de inicialização e tempo de execução que estão disponíveis para o
carregador do sistema operacional e para o sistema operacional. O firmware UEFI oferece
várias vantagens técnicas sobre um sistema tradicional de BIOS:
Capacidade de usar discos grandes (mais de 2 TB) com uma Tabela de Partição GUID
(GPT)
Design modular
Recursos
As interfaces definidas pela EFI incluem tabelas de dados que contem informação sobre a
plataforma, e serviços de boot e runtime que ficam disponíveis para o carregador do SO e o
próprio SO.
Alguns melhoramentos para BIOS PC, como o ACPI e o SMBIOS, também estão presentes no
EFI, já que eles não dependem de uma interface em tempo de execução de 16-bit.
Secure boot
A especificação UEFI 2.3.1 Errata C (ou superior) define um protocolo conhecido como
secure boot (em português inicialização segura), que pode tornar o processo de inicialização
seguro por meio da prevenção de carregamento de drivers ou carregadores de SO que não
são assinados com uma assinatura digital aceitável. Os detalhes mecânicos de como,
precisamente estes drivers são assinados não são especificados.[3]
Compatibility Support Module
Serviços
O EFI define boot services, que incluem suporte a consoles de texto e gráficos em vários
dispositivos, barramentos, serviços de bloco e de arquivos, e runtime services, assim como
data, hora e serviços NVRAM.
Drivers de dispositivo
Alguns tipos de drivers de dispositivo (não EBC) específicos para a arquitetura podem ter
interfaces para uso pelo sistema operacional. Isso permite ao SO confiar ao EFI o suporte
básico aos gráficos e à rede enquanto os drivers específicos são carregados.
Gerenciador de boot
Suporte a Disco
Em adição ao esquema de partição do PC padrão, Master boot record (MBR), o EFI adiciona
suporte para uma tabela de partição GUID (GPT), que não sofre das mesmas limitações. A
especificação EFI não inclui um descrição para um sistema de arquivos; implementações da
EFI tipicamente suportam FAT32 como seus sistemas de arquivos[5]
O Shell EFI
A comunidade EFI criou um Shell open source;[6] ao invés de "bootar" diretamente em um SO
completo, em algumas implementações, o usuário pode dar boot no shell EFI. O shell é uma
aplicação EFI; ele pode residir diretamente dentro da ROM da plataforma, ou num dispositivo
para o qual os drivers estão na ROM.
O Shell pode ser usado para executar outras aplicações EFI, como setup, a instalação do SO,
utilitários de diagnóstico ou configuração, e atualizações da flash do sistema; ele pode
também ser usado para tocar CDs ou DVDs sem ter que iniciar um sistema operacional
completo, contanto que uma aplicação EFI com as características apropriadas seja escrita.
Os comandos do shell tornam possível copiar ou mover arquivos e pastas entre os sistemas
de arquivos suportado. Drivers podem ser carregados e descarregados, e um stack TCP/IP
completo pode ser usado de dentro do shell.
O shell EFI suporta encriptação através de arquivos .nsh, que são análogos aos arquivos
batch do DOS
Extensões
Implementação e adoção
A Intel Platform Innovation Framework para a EFI (com o nome código original “Tiano”) é uma
implementação de firmware completamente livre de legado, que inclui suporte para EFI.
Também pode suportar um PC BIOS herdado através do compatibility support
module(CSM).
Uma parte do framework foi disponibilizada com open source para o projeto TianoCore (htt
p://www.tianocore.org/) com EFI Developer Kit (EDK). Essa implementação cobre o EFI e
alguns códigos de inicialização de hardware, mas não é o firmware completo. Várias
licenças foram usadas para o código, incluindo a Licença BSD e a Licença Pública Eclipse.
Todos os sistemas Itanium 2 lançados com firmware compatível com EFI devem também
ser complacentes com todas as especificações DIG64.
A grande maioria dos chips de placas-mãe Intel vêm com firmaware baseado neste
Framework. Durante o ano de 2005 mais de um milhão de sistemas intel foram entregues
com o Framework.[9] Novos produtos Mobile, desktop e Servidores usando o framework
começaram a ser entregues em 2006. Por exemplo, todas as placas que usam o chipset da
série intel 945 usam o Framework. Contudo, a produção do firmware geralmente não inclui o
suporte ao EFI, e está limitado à BIOS legada.[10]
Desde 2005, EFI tem sido implementado também em arquitetura não-PC, como sistemas
embarcados baseados em XScale cores.[11]
O EDK inclui um alvo NT32, que aceita o firmware EFI e aplicação EFI rodar dentro de uma
aplicação Windows.
Sistemas Operacionais
O sistema Linux é capaz de usar o EFI em tempo de boot desde do início de 2000, usando o
carregador de boot Elilo. O Elilo é o único meio de "bootar" o Linux na plataforma IA-64; ele
pode ser usado também nas plataformas IA-32. Até dezembro de 2006, não há versão do
Elilo para modo x64.
HP-UX tem usado EFI como mecanismo de boot nos sistemas IA-64 desde 2002. OpenVMS
tem usado em produtos comerciais desde janeiro de 2005.
O Microsoft Windows Server 2003 para IA-64, Windows XP 64-bit Edition, e Windows 2000
Advanced Server Limited Edition, todos para a família Intel Itanium de processadores,
suportam EFI, um requisito das plataformas pela especificação DIG64.[13] A Apple Computer
tinha adotado o EFI para a linha dos Macintosh baseados em Intel. A Microsoft planeja
introduzir o suporte ao UEFI para os 64-bit x64 com Windows Server "Longhorn". O EFI tem
suporte para x64 nas versões do Windows Vista que poderá ser incluso um service pack.[14]
Não será feito um suporte oficial para booting do EFI em computadores 32-bit devido à falta
de suporte dos fabricantes e dos vendedores de computadores. A Microsoft liberou um
vídeo com Andrew Ritz e Jamie Schwarz que explica o suporte PRE-SO que envolve UEFI no
Vista e no Longhorn.[15]
Criticismo
Ver também
Open Firmware
x86-64
OpenBIOS
LinuxBIOS
Referências
Ligações externas
Obtida de "https://pt.wikipedia.org/w/index.php?
title=Unified_Extensible_Firmware_Interface&oldi
d=61478791"
Última modificação há 18 dias por Renato de carvalho ferreira