Tecnologia da Informação - TI

Total de visualizações de página

Translate

quinta-feira, 15 de outubro de 2026

Unified Extensible Firmware Interface

 

Logomarca da UEFI
Diagrama mostrando o posicionamento do EFI na pilha de softwares

O Unified Extensible Firmware Interface (UEFI), em português Interface Unificada de Firmware Extensível, é uma especificação que define uma interface de software entre o sistema operacional e o firmware da plataforma. UEFI pretende substituir a interface de firmware do Sistema de Entrada/Saída Básico (BIOS), presente em todos os computadores pessoais compatíveis com o IBM PC. Na prática, a maioria das imagens UEFI fornecem suporte legado para os serviços do BIOS. UEFI pode suportar diagnósticos remotos e reparação de computadores, mesmo sem outro sistema operacional instalado.

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.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.

Em julho de 2005, a Intel cessou o desenvolvimento da especificação EFI quando esta chegou à versão 1.10, e contribuiu para o Unified EFI Forum, que desenvolveu a especificação com o nome Unified Extensible Firmware Interface (UEFI). A especificação EFI original é de propriedade da Intel, que fornece exclusivamente licenças para produtos EFI, mas a especificação UEFI é de propriedade do Fórum.

A versão 2.1 da especificação UEFI foi lançada em 7 de janeiro de 2007. Foi adicionado criptografia, autenticação de rede e a Arquitetura de Interface de Usuário (Infraestrutura de Interface Humana no UEFI). A última especificação UEFI, a versão 2.10, foi aprovada em agosto de 2022.[2]

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)
  • Arquitetura independente de CPU
  • Drivers independentes de CPU
  • Ambiente pré-SO flexível, incluindo capacidade de rede
  • Design modular
  • Compatibilidade reversa e futura

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

O Compatibility Support Module (CSM), em português Módulo de Suporte à Compatibilidade, é um componente do firmware UEFI que fornece compatibilidade legada do BIOS por meio da emulação de um ambiente BIOS, permitindo que sistemas operacionais legados e algumas option ROMs que não suportam UEFI ainda sejam usados.[4]

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

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) 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

Um Gerenciador de boot EFI é 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).

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

Nomes de comandos do shell são frequentemente 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.

Extensões

Extensões ao EFI podem ser carregadas de virtualmente qualquer dispositivo de armazenamento não volátil 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.

Implementação e adoção

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 inclui todos os passos necessários para iniciar a plataforma após 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.

A Intel não disponibiliza o framework completo para o usuário final; ele está disponível através de vendedores de BIOS independentes (como a American Megatrends (AMI) e Insyde Software) como parte das suas ofertas de firmware.[7]

Uma parte do framework foi disponibilizada com open source para o projeto TianoCore 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.

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.

Em janeiro de 2008, a Apple Computer liberou seus primeiros computadores Macintosh baseados em intel. Estes sistemas usam EFI e o Framework ao invés de Open Firmware, que foi usado nos sistemas Power-PC anteriores.[8] Em 5 de abril de 2006 a Apple liberou Boot Camp, que produz discos de Windows XP como uma ferramenta de particionamento não destrutível para ajudar os usuários a instalar o Windows XP mais facilmente. Uma atualização de firmware que adicionou suporte a BIOS legada para implementação do EFI também foi liberada. Modelos Macintosh subsequentes foram entregues já com novo firmware instalado. Agora todos os sistemas machintosh atuais também estão aptos a executar o boot pelos sistemas operacionais de BIOS legada, como o Windows XP.

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.

Em 2007, a HP liberou uma impressora compatível com o firmware EFI.[12]

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

Numerosos ativistas de direitos digitais tem protestado contra a UEFI. Ronald G. Minnich, um coautor de coreboot, e Cory Doctorow, um ativista de direitos digitais, tem criticado a EFI como uma tentativa de remover a possibilidade do usuário verdadeiramente controlar o computador.[16][17] Isto levanta preocupações de segurança e, nomeadamente, torna a criação de uma implementação de software livre impossível. EFI pode ser usado para criar uma "BIOS DRM", deixando assim fornecedores construir computadores que limitam o que o utilizador pode fazer.

Em 26 de março de 2013, o grupo espanhol Hispalinux de desenvolvimento de software livre apresentou uma queixa formal à Comissão Europeia, alegando que os requisitos de Secure Boot da Microsoft em sistemas OEM eram "obstrutivas" e anticompetitivas.[18]

Ver também

Referências

  1. Dong Wei, Beyond BIOS (foreword), Intel Press, 2006, ISBN 978-0-9743649-0-2
  2. «Unified Extensible Firmware Interface Forum Specifications». Consultado em 9 de julho de 2023
  3. «Secure Boot Overview». Microsoft. Consultado em 18 de fevereiro de 2016
  4. «Intel® Platform Innovation Framework for EFI» (PDF). Compatibility Support Module Specification (revision 0.97). Intel. 4 de setembro de 2007. Consultado em 6 de outubro de 2013
  5. see fat-driver.Tianocore.org[ligação inativa] for info on EFI FAT driver. (requires registration)
  6. Veja efi-shell.tianocore.org Arquivado em 28 de setembro de 2007, no Wayback Machine. para informações sobre o EFI shell
  7. Ver Intel Platform Innovation Framework for EFI no site da Intel
  8. Apple Computer. "Universal Binary Programming Guidelines, Second Edition: Extensible Firmware Interface (EFI)."
  9. Intel, Framework Overview
  10. An Intel pdf with information about EFI on their boards
  11. See Overview of the Intel Platform Innovation Framework
  12. HP Printer's site[ligação inativa]
  13. Microsoft Windows Server TechCenter. "Extensible Firmware Interface Arquivado em 30 de agosto de 2006, no Wayback Machine.."
  14. «Microsoft bombshell: no EFI support for Vista». Consultado em 1 de junho de 2007. Arquivado do original em 17 de outubro de 2006
  15. Microsoft Pre-OS Video
  16. «Interview: Ronald G Minnich». Fosdem. 6 de fevereiro de 2007. Consultado em 14 de setembro de 2010
  17. Doctorow, Cory (27 de dezembro de 2011), The Coming War on General Purpose Computation, consultado em 25 de setembro de 2013
  18. «Exclusive: Open software group files complaint against Microsoft to EU». Reuters. Consultado em 26 de março de 2013

Ligações externas

Software Livre

 


Software Livre Wikiprojeto Cultura Livre Wikiprojeto Ciência da Computação

Bem-vindo(a) ao Portal Software Livre
Software Livre, segundo a definição criada pela Free Software Foundation, é qualquer programa de computador que pode ser usado, copiado, estudado, modificado e redistribuído sem nenhuma restrição. A liberdade de tais diretrizes é central ao conceito, o qual se opõe ao conceito de software proprietário, mas não ao software que é vendido almejando lucro (software comercial). A maneira usual de distribuição de software livre é anexar a este uma licença de software livre, e tornar o código fonte do programa disponível.
Artigo Destacado
Ubuntu é um sistema operacional GNU/Linux baseado na distribuição Debian. É patrocinado pela Canonical Ltd (dirigida por Mark Shuttleworth) e o seu nome deriva do conceito sul africano Ubuntu (pronuncia-se /u-BÚN-tu/; AFI: [uˈbuntu]) — diretamente traduzido como "humanidade para com os outros". Diferencia-se do Debian por ser lançado semestralmente, por disponibilizar suporte técnico nos dezoito meses seguintes ao lançamento de cada versão (em inglês) e pela filosofia em torno de sua concepção, uso e distribuição.

A proposta do Ubuntu é oferecer um sistema operacional/operativo que qualquer pessoa possa utilizar sem dificuldades, independente de nacionalidade, nível de conhecimento ou limitações físicas. A distribuição deve ser constituída totalmente de software gratuito e livre, além de isenta de qualquer taxa. Actualmente uma organização cuida para que cópias sejam remetidas em CDs para todo o mundo sem custos. Este CD é distribuído pela empresa ShipIT, sendo necessário somente o pré-cadastro, informando dados básicos de localização. O CD é entregue até um mês após o pedido do CD, e não é cobrado nenhum tipo de tarifa ou valor referente ao pedido ou transporte do mesmo.

Sua instalação tem um ambiente gráfico, em português ou outras onze linguagens diferentes, conforme escolhido pelo usuário instalador do sistema.

Visualizar  · Discussão  · Editar  · Histórico
Você Sabia?
  • Que o criador do kernel do Linux, Linus Torvalds, quando adolescente, ganhou do avô um veleiro montável com cerca de 1.000 peças, para que pudessem velejar juntos. No dia em que o veleiro chegou já era no final da tarde e o avô de Linus preferiu esperar até o dia seguinte para montá-lo com a ajuda do neto. Entretanto, Linus não conseguiu esperar tanto tempo e montou o veleiro sozinho durante a noite. O avô de Linus ficou impressionado, já que uma tarefa dessas é muito difícil de ser realizada até mesmo por engenheiros experientes.



  • Que o nome Hurd foi cunhado inicialmente para ser um acrônimo indiretamente recursivo para: HIRD of Unix-Replacing Daemons, em que HIRD significaria HURD of Interfaces Representing Depth?
Visualizar  · Discussão  · Editar  · Histórico
Imagem Destacada

O Tux é a mascote oficial do sistema operativo GNU/Linux. O Tux, criado por Larry Ewing em 1996, é um pinguim gorducho que tem um ar satisfeito e saciado. A ideia da mascote do Linux ser um pinguim veio de Linus Torvalds, o criador do núcleo Linux.

É, por vezes, alegado que o nome deriva de Torvalds UniX, um nome sugerido por James Hughes, em vez da explicação que os pinguins aparentam vestir um smoking.

O Tux foi criado para um concurso de logotipos para Linux. O logotipo vencedor foi criado por Larry Ewing usando o GIMP (um pacote de software livre de edição gráfica) e foi lançado por ele sob as seguintes condições:

A autorização para o uso e/ou modificação desta imagem é concedida desde que me reconheça lewis@isc.tamu.edu e o GIMP.[1]
Visualizar  · Discussão  · Editar  · Histórico
Notícias e eventos
  • Comitê de Implementação do Software Livre no Governo Federal reúne 70 instituições.
Setenta instituições públicas – ministérios, empresas públicas e autarquias enviaram seus representantes para a reunião do Comitê de Implementação do Software Livre no Governo Federal - CISL, realizada no último dia 28, no Palácio Itamaraty. Marcos Mazoni, coordenador do Comitê, designado em abril último, detalhou, ao longo do dia de trabalho, os principais eixos de atuação, as prioridades e ações planejadas. Mais em : www.softwarelivre.gov.br/noticias/comite-de-implementacao-do-software-livre-no-governo-federal-reune-70-instituicoes
As eleições municipais de 2008 sofreram mudanças na tecnologia utilizada pelo sistema de votação eletrônica. O Tribunal Superior Eleitoral do Brasil (TSE) autorizou a substituição do sistema operacional VirtuOS e Windows CE por Linux, para as 430 mil urnas eletrônicas.[2]
Em 1 de abril de 2008, a Organização Internacional de Padronização, ISO, aprovou, com 75% dos votos válidos dos membros, a transformação do formato de documentos de escritório Office Open XML, de autoria da Microsoft, em um padrão internacional.[3]
Visualizar  · Discussão  · Editar  · Histórico
Categorias
Colabore conosco!
Algumas coisas que você pode fazer:
  • Adicionar ou implementar imagens importantes que ainda não foram implementadas ...
Visualizar  · Discussão  · Editar  · Histórico

Wikimedia
Software livre no Commons Software livre no Commons
Imagens e mídia
Software livre no Wikcionário Software livre no Wikcionário
Definições
Software livre no Wikilivros Software livre no Wikilivros
Livros didáticos e manuais
Software livre no Wikinotícias Software livre no Wikinotícias
Notícias
Software livre no Wikiquote Software livre no Wikiquote
Citações
Software livre no Wikisource Software livre no Wikisource
Biblioteca
Software livre na Wikiversidade Software livre na Wikiversidade
Recursos de aprendizado
Portais relacionados
Tecnologias de informação
Linux
Tecnologias de informação Linux

Referências

Pesquisar este blog