EFI
Origem: Wikipédia, a enciclopédia livre.
EFI (Extended Firmware Interface) é uma interface criada pela Intel para substituir o velho BIOS.
A EFI é uma especificação que define uma interface de software entre o sistema operacional e a plataforma de firmware. A EFI destina-se a ser um substituto significativamente melhorado para o velho BIOS firmware interface, historicamente usado por todos os computadores pessoais IBM PC compatíveis. A especificação EFI foi originalmente desenvolvida pela Intel, e é atualmente gerida pelo Unified EFI Forum que é oficialmente conhecido como Unified EFI (UEFI).
| Este artigo ou secção está a ser traduzido a partir de língua estrangeira. Ajude e colabore com a tradução. O trecho em língua estrangeira encontra-se oculto, sendo visível apenas ao editar a página. |
Índice |
[editar] História
A motivação original para o EFI veio cedo durante o 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 a este respeito foram inicialmente chamados Intel Boot Initiative e foi depois renomeado para EFI [1].
- A especificação EFI 1.02 foi lançada pela Intel em 12 de dezembro de 2000.
- 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.
[editar] Contudo
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.
[editar] 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.
[editar] Drivers de dispositivo
Em adição aos drivers de dispositivos padrões específicos da arquitetura, a especificação EFI provê para um ambiente de drivers de dispositivo independente do processador, chamado EFI Byte Code ou EBC.
Alguns tipos de drivers de dispositivo (não EBC) especificos 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.
[editar] Gerenciador de boot
Um Gerenciador de boot EFI e também usado para selecionar e carregar o sistema operacional, removendo a necessidade de um mecanismo de boot loader (o boot loader do SO é uma aplicação EFI).
[editar] 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, 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[2]
[editar] O Shell EFI
A comunidade EFI criou um Shell open source[3].; 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
Nomes de comandos do shell são freqüentemente herdados do interpretador de comandos do DOS ou o shell Unix. O shell pode ser visto como um substituto funcional para o interpretador de comandos do DOS.
[editar] Extensões
Extensões ao EFI podem ser carregadas de virtualmente qualquer dispositivo de armazenamento não volatil ligado ao computador. Por exemplo, um OEM pode vender sistemas com uma partição EFI em um HD que adicionariam características adicionais para o firmware EFI padrão armazenado na ROM da placa mãe.
[editar] Implementação e adoção
[editar] Intel Platform Innovation Framework para EFI
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).
Em particular, o Framework inclue todos os pasos nescessarios para iniciar a plataforma apos o ligamento; esse trabalho interno do firmware não são definidos como parte da especificação EFI, mas são parte da Platform Initialization Specification.
[editar] Plataformas que usam EFI ou Framework
Os primeiros servidores e estações de trabalho da Intel, lançados em 2000, suportavam EFI 1.02.
Os primeiros sistemas Itanium 2 da Hewlett-Packard, lançados em 2002, suportavam EFI 1.10; eles eram capazes de iniciar Windows, Linux, FreeBSD e HP-UX.
Todos os sistemas Itanium 2 lançados com firmware compatível com EFI devem também ser complacentes com todas as especificações DIG64.
Em novembro de 2003, Gateway introduziu o Gateway 610 Media Center, o primeiro computador x86 baseado no Windows a utilizar firmware baseada no Framework, o InsydeH2O da Insyde Software. Ele ainda dependia de uma BIOS implementada como um suporte de compatibilidade para iniciar o Windows.
[editar] 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.[4] Os Computadores Apple 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.[5] 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 video com Andrew Ritz e Jamie Schwarz que explica o suporte PRE-SO que envolve UEFI no Vista e no Longhorn.[6]
[editar] Ver também
- Open Firmware
- Basic Input/Output System (BIOS)
- Advanced Configuration and Power Interface (ACPI)
- System Management BIOS (SMBIOS)
- x86-64
- OpenBIOS
- LinuxBIOS
- System Management Mode
Referências
- ↑ Dong Wei, Beyond BIOS (foreword), Intel Press, 2006, ISBN 9-780974-364902
- ↑ see fat-driver.Tianocore.org for info on EFI FAT driver. (requires registration)
- ↑ See efi-shell.tianocore.org for EFI shell information
- ↑ Microsoft Windows Server TechCenter. "Extensible Firmware Interface."
- ↑ Microsoft bombshell: no EFI support for Vista
- ↑ Microsoft Pre-OS Video
[editar] Ligações externas
- Microsoft's official stance on EFI
- UEFI Homepage
- Intel's EFI page
- Intel's Framework page
- Intel-sponsored open-source EFI Framework initiative
- EFI Linux Loader project (ELILO)
- EFI Linux gnu toolchain (gnu-efi)
- EFI Architecture Dr. Dobbs Portal Article
| Este artigo é um esboço sobre Hardware. Você pode ajudar a Wikipédia expandindo-o. |

